requests库
2019-08-23 本文已影响0人
lvyz0207
Scrapy
1、requests库
中文文档地址:https://2.python-requests.org//zh_CN/latest/index.html
requests | 描述 |
---|---|
response.text | 默认将响应数据解码为Unicode |
response.content.decode() | 将响应按照utf-8,gbk,gb2312,ascii,iso-8859-1解码,默认为bytes |
response.url | 响应的url |
response.status_code | 响应状态码 |
response.request.headers | 响应的请求头 |
response.headers | 响应头 |
response.request._cookies | 响应的对应请求的cookie;返回cookiejar类型 |
response.cookies | 相应的cookie |
response.json | 自动将json字符串类型的响应内容转换为python对象(dict or list) |
requests.get(url, headers=headers, params=params) | get请求参数应用 |
timeout=3 | 设置超时时间为3秒 |
verify=False | 忽略证书 |
设置cookies
cookies = {"cookie的name":"cookie的value"}
response = requests.get(url, cookies)
代理设置
正向代理
与反向代理
浏览器或客户端(发送请求的一方)转发请求的,如vpn,叫做正向代理
(浏览器知道最终处理请求的服务器的真实ip地址)
不为浏览器或客户端(发送请求的一方)转发请求、而是为最终处理请求的服务器转发请求的,如nginx,叫做反向代理
(浏览器不知道服务器的真实地址)
proxies = {
"http":"http://1.2.3.4:8080",
}
response = requests.get(url, proxies=proxies)
post请求
response = requests.post(url, data=data, headers=headers)
Content-Length: 100:是指发送的表单数据长度为100,也就是url编码字符串的字符个数是100个。
Content-Type: application/x-www-form-urlencoded : 表示浏览器提交 Web 表单时使用,表单数据会按照 name1=value1&name2=value2 键值对形式进行编码。
X-Requested-With:XMLHttpRequest:表示AJAX异步请求。
requests.session()使用
目的:session实例在请求了一个网站后,对方服务器设置在本地的cookie会保存在session中,下一次再使用session请求对方服务器的时候,会带上前一次的cookie
# 实例化session对象
session = requests.session()
# 请求登录接口
session.post('https://blkid.com/login', headers=headers, data=data)
# 访问带有登录权限的页面
response= session.get(url, params=params, headers=headers)