定制Requests 2019-04-06
一. 传递URL参数
自己构建的url中, 数据一般会跟在一个问号后面, 并以键-值的形式放在url中.
在Requests中, 我们可以把这些参数保存在字典中, 用params构建至url中.
I.E:
key_dict = {'key1': 'value1', 'key2', 'value2'}
r = requests.get('http://......', params=key_dict)
print(r.url) # 返回编码后的url
上述代码实现了 将key1=value1, key2=value2传递到网站的url请求中
二. 定制请求头
第一步, 查看网页内置的Header
在网页上右击, 打开"元素审查"或"检查"选项, 在打开的页面中选择Network选项, 在左侧资源中找到需要请求的网页, 随后打开的窗口中的Header选项中查看
Requests Header的详细信息.
第二步, 根据查找到的信息编写 自己的请求头.其中需包括[user-agent] [Host]参数.
三. 发送Post请求
发送一些编码为表单形式的数据( 因为如果用Get请求, 数据就会显示在url中, 这是不安全的), 只需要传入一个字典类型给Requests的[data]参数
四.设置超时
防止遇到服务器长时间不响应 导致爬虫一直处在等待状态, 用Requests的[timeout]参数设置超时,
I.E: r = requests.get(link, timeout= 0.001) # 0.001秒内无响应则抛出异常(一般设置为20秒)