首页 > 其他分享 >第三方requests库

第三方requests库

时间:2023-10-29 13:23:43浏览次数:27  
标签:请求 get https print requests com 第三方

学习目标

掌握安装第三方模块的方法
掌握requests库的常用方法与返回值
掌握requests下载保存数据

核心知识

系统库(像socket、os)与第三方库的唯一区别就是:一个是默认自带不需要下载安装的库,一个是需要下载安装的库。
requests库是网络请求库,非常的简单使用,常用于爬虫,文件下载,漏洞验证等许多业务区。

安装第三方库

安装python后会默认安装pip,pip是下载与安装第三方模块的工具

pip3 install 第三方库名

pip镜像源,国内源可以加快下载速度用-i参数
pip install xxx库 -i https://pypi.tuna.tsinghua.edu.cn/simple

image.png

请求方式

head方式

head头请求-->少网络流量获得概要信息,如:请求头,状态码,速度极快->目录扫描

import requests
url = 'https://www.baidu.com'
r = requests.head(url)
# 状态码,整数类型
print(r.status_code)

# 请求的网址,字符串类型
print(r.url)

# 请求头,字典类型
print(r.headers)

# 网页的编码,字符串类型
print(r.encoding)

# 保存的cookie
print(r.cookies)

get方式

get请求数据-->发起请求,获取完整的数据,速度慢->获取网页内容,爬虫,poc编写

import requests
url = 'https://www.baidu.com'
r = requests.get(url)
print(r.text)
# 请求的网页的内容,自动编码,但是有几率会乱码,不建议使用

print(r.content)
# 请求的网页的内容--bytes格式,如果要转中文字符串,需要调用decode()方法

print(r.content.decode('utf-8'))
# 请求的网页的内容--字符串格式,自动转换成中文,不同网站编码不同

print(r.url)
# 请求的网址,字符串类型

print(r.headers)
# 请求头,字典类型

print(r.status_code)
# 状态码,整数类型

print(r.encoding)
# 网页的编码,字符串类型

print(r.cookies)
# 保存的cookie

post方式

psot发送数据-->主动服务器提交数据,返回获取完整的数据-->提交数据,获取网页返回的结果,爬虫,poc编写
发送的数据需要用字典格式保存

d = {'user':'admin','password':'123456'}
r = requests.post(url='http://xxx.com',data=d)

重要设置

超时设置

如果希望访问网站时间3s还未响应,可以用timeout参数实现

import requests
r = requests.get('https://www.baidu.com',timeout=3)

请求头设置

该设置是为了伪装成浏览器去请求,请求头是字典格式的,浏览器f12打开直接复制UA头

import requests
header = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'}
r = requests.get('https://www.baidu.com',timeout=3,headers=header)

image.png

不检测https证书

requests会对https网址验证ssl证书,如果证书验证失败,则会抛出异常,我们可以通过以下方法设置不检测

requests.packages.urllib3.disable_warnings()
verify=False

import requests
requests.packages.urllib3.disable_warnings()
header = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'}
r = requests.get('https://www.baidu.com',timeout=3,headers=header,verify=False)

禁止网页重定向

requests 会自动处理所有重定向,可以通过参数设置禁止重定向
allow_redirects=False

import requests
requests.packages.urllib3.disable_warnings()
header = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'}
r = requests.get('https://www.baidu.com',timeout=3,headers=header,verify=False,allow_redirects=False)

保存数据

保存网页内容

import requests
r = requests.get('https://www.baidu.com')
con = r.content.decode('utf-8')
a = [i for i in open('bd.txt','a+',encoding='utf-8').write(con)]

保存图片数据

import requests
r = requests.get('https://lmg.jj20.com/up/allimg/1113/052420110515/200524110515-2-1200.jpg')
with open('tp.jpg','wb')as a:
    a.write(r.content)

保存视频数据

import requests
r = requests.get('http://www.xxx.com/xxx.mp4',stream=True)
for it in r.iter_content():
    with open('视频.mp4','wb')as a:
        a.write(it)

应用场景

暴力破解、撞库、爬虫等场景下使用
模拟网站的登陆,查看,下载数据
POC/EXP的编写,漏洞扫描器网络请求

总结归纳

掌握requests最常用的三种请求方式:head/get/post
掌握requests参数的设置
掌握requests返回值
掌握requests如何保存数据

标签:请求,get,https,print,requests,com,第三方
From: https://www.cnblogs.com/JFSec/p/17794791.html

相关文章

  • python__requests模块的session对象
    *****************************************************************************************************************************************************************************************************************面试时,面试官问我:自动化中,只需要登录一次,就可以跑其......
  • Python 接口自动化 —— requests框架
    1.前言Python内置的urllib模块,也可以用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。因此我们使用requests模块进行进行接口测试。requests官方文档资料地址:http://cn.python-requests.org/zh_CN/latest/2.环境安装cmd(win+R快捷键)输入:pipinstall......
  • Python:爬取某软件站数据报错requests.exceptions.SSLError: HTTPSConnectionPool(hos
    使用Python爬取某网站数据时候,之前一直是好好的。突然就报错:requests.exceptions.SSLError:HTTPSConnectionPool(host='api.***.cn',port=443):Maxretriesexceededwithurl:/accounty1/login?analysis............检查发现,可能是IP地址存在代理导致网络环境一场。可以检......
  • 如何借助python第三方库存取不同应用程序的用户名、密码
    在之前的一系列文章中,小爬分享了很多用Pywin32、uiAutomation、sapGuiScript等技术实现应用程序或者Web网站(如SAP、Excel、outLook邮件系统、OA系统)的自动化操作的文章。但是,这些文章都绕开了一个知识点:如何优雅地实现自动登录。与其说是想聊聊如何实现自动登录,其实是绕到了......
  • 第三方平台 之代开发小程序
    一、服务商代开发小程序文档:https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/product/how_to_dev.html二、extAppid的开发调试文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/ext.htmlext.json文件{"extEnable":true,"ext......
  • requests库的常用方法
    requests是python的第三方库pip3installrequests 常用的6种方法:postdeleteputget增加、删除、修改、查询.基于RestfulAPI架构requestsession 发送get请求get(url,params=None,**kwargs)defget(url,params=None,**kwargs):r"""SendsaGETreques......
  • 自动化测试-友好的第三方库
    自动化测试脚本开发中,总是会遇到各种数据处理,例如MOCK、URL处理、JSON数据处理、结果断言等,也会遇到所采用的测试框架不能满足当前需求,这些问题都需要我们自己动手解决。在强大的IT世界,我们遇到的百分之九十八问题,前辈们都遇到过并且给出了解决方案,有的无私前辈将其整理并开源,这些......
  • 通过requests库使用HTTP编写的爬虫程序
    使用Python的requests库可以方便地编写HTTP爬虫程序。以下是一个使用requests库的示例:importrequests#发送HTTPGET请求response=requests.get("http://example.com")#检查响应状态码ifresponse.status_code==200:#获取响应内容html=response.text......
  • Pycharm安装第三方库时报错 no such option: --build-dir
    参考资料Link:https://blog.csdn.net/weixin_56321113/article/details/122737501 一、遇到的问题pycharm2020.1python3.9pip22.1无论安装任何第三方包都会报错 nosuchoption:--build-dir 二、问题原因pycharm依赖于--build-dir安装第三方库,但pipinstall中......
  • python的requests发送/上传多个文件(转)
    原文:https://blog.csdn.net/five3/article/details/74913742作者:上帝De助手 1、需要的环境Python3.XRequests库2、单字段发送单个文件在requests中发送文件的接口只有一种,那就是使用requests.post的files参数,请求形式如下:url="http://httpbin.org/post"data=No......