requests高阶用法
1.requests上传文件操作
2.会话维持:Session对象(重点)
3.设置超时时间:timeout,请求5秒内没有返回响应,则抛出异常
4.Prepare Request:构建requests对象,可以放入队列中实现爬取队列调度
requests上传文件操作
files = {'file': open('filename', 'rb')}
res = requests.post(url=url, files=files)
会话维持: Session对象
from requests import Session
session = Session()
res = session.get(url=url, headers=headers)
设置超时时间
timeout, 请求5秒内没有返回响应, 则抛出异常
res = requests.get(url=url, headers=headers, timeout=5)
Prepare Request: 构建request对象, 可以放入队列中实现爬取队列调度 from requests import Request, Session
url = '....'
data = {
'wd': 'spiderman'
}
headers = {
'User-Agent': '...'
}
# 1.实话session对象
session = Session()
# 2.构建request对象, 传入必要参数
req = Request('POST', url, data=data, headers=headers)
req = Request('GET', url, params=params, headers=headers)
# 3.应用prepared_request方法将request对象转化为Prepared Request对象
prepared = session.prepare_request(req)
# 4.利用session的send方法发送请求
res = session.send(prepared)