网络爬虫

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)
上一篇下一篇

猜你喜欢

热点阅读