一.requests模块的请求参数
1 这是最后的解释
method: 请求方法 get post
url: 请求的链接地址
反扒的三剑客
headers: ( 可选的) 构建请求头字段的关键字参数, 构建字典
cookies: ( 可选的) 通过这个关键字传递cookies字段信息, 构建字典
proxies: ( 可选的) ip代理的关键字参数, 构建字典
请求参数的三剑客
params: ( 可选的) 构建查询参数的关键字
data: ( 可选的) 构建请求参数的关键字
json: ( 可选的) 以 json 数据提交的请求参数关键字, 构建字典
timeout: ( 可选的) 设置响应时间, 单位/ 秒, 如果超过这个时间程序会报错 最大180 秒
allow_redirects: ( 可选的) 是否允许重定向, 默认如果发生了重定向, 会自动重定向, 设置布尔值
verify: ( 可选的) 是否验证网站证书 ca证书 ssl证书, 默认为Ture, 默认会校验证书 返回警告
files: ( 可选的) 文件操作
stream: ( 可选的) 数据流数据, 是都是数据流数据, 实时更新的数据( 直播, 弹幕, 股票)
二.json请求的关键字
1. 在有些情况下用post发送的请求的时候是会使用json参数来构建关键字的,例如地址:url=‘http://www.zfcg.sh.gov.cn/’
import requests
url = 'http://www.zfcg.sh.gov.cn/front/search/category'
json_data = {
"utm" : "sites_group_front.2ef5001f.0.0.07ec2550d86011edb93db70f086e4f9a" ,
"categoryCode" : "ZcyAnnouncement3012" ,
"pageSize" : '15' ,
"pageNo" : '1'
}
response = requests. post( url= url, json= json_data)
print ( response. json( ) )
2.记住这个关键字是在 Request Payload 中查找的,如果没有就不用构建json的查询参数.
三.cookies 关键字的构建
1 在python中cookies关键字可以用三种方法来进行构建,
①.在请求头headers中一起构建
②.将cookies关键字单独构建成cookies字典的形式
③.将cookies关键字的每一个片段单独构建成键值对的形式
cookies = {
'BAIDUID' : '963EC08DDD8CA5647A50D2ED99D0CCF2:SL=0:NR=10:FG=1' ,
'BAIDUID_BFESS' : '963EC08DDD8CA5647A50D2ED99D0CCF2:SL=0:NR=10:FG=1' ,
'ZFY' : 'fVb9op8tO3yhpq3TJlvkhdkE8iS3bLYoA53APCw5awg:C' ,
'1.0.1_MDJhNTY0OGI3NzhkNjMxNGE5ZWY3MzNiNGI3OGJiMjRmYjJlNGQ2NThkYjYyNzc5OTllMWEwZWFiMDM5MjBlODYwOWI4Y2M0Zjc5NWNkMGFjNmI5OGM2NDkwOTBmNjAxYzVjZTdiMTc3ZjkxMWQ4ZTM0OWNkYTA0MjA1ZDI4MjE5ZmIyMGJlYjM2MjY2NTBjM2EzNGI5NmIxMDEzYjJmOTFjM2FhNDliYWQ5Y2M5YjdlYWU0MWJhZTU2YzRiYmM3' ,
. . . . . .
}
2.当使用第一种cookies没有数据返回就使用第二种,第二种也不行就使用第三种.
四.verify 的使用
import requests
requests. packages. urllib3. disable_warnings( )
url = 'https://data.stats.gov.cn/'
response = requests. post( url= url, verify= False )
print ( response. text)
"""
requests.exceptions.SSLError: 网站没有证书引发的报错, 因为requests模块会默认校验证书
"""
1.在有的网站在访问的时候会校验网站的证书,没有网站证书就不会访问,所以这时候我们就会使用verify=False来禁止访问证书,从而访问网站.
五. timeout 的使用
import requests
url = 'https://github.com/'
response = requests. post( url= url, timeout= 0.1 )
print ( response. text)
1. 当我们访问一些网站的时候会有访问的特别慢的时候,这时候我们可以使用timeout来过滤这些网站.
六.allow_redirects的使用
import requests
url = 'http://github.com/'
response = requests. post( url= url, allow_redirects= False )
print ( response. status_code)
print ( response. url)
1.这是一个是否允许重定向的参数.
七.还有两个基本就是用不上,如果有需要你们再自己找资料吧.