前面我写的爬虫用的都是Python自带的的标准库urllib,这个库用起来还行,不过有些操作比较麻烦。所以现在我们来学习一下一个非常著名的HTTP库——requests。
打开官网还有一段警告。可见requests的方便,可以帮我们避免这么多危险。
警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。
好了,废话不多说,如果没有安装requests的话,先来安装一下。
pip install requests
使用举例
如果想快速上手requests,可以参考快速上手文档。居然是中文文档,翻译的还不错,真的很良心。
发起请求
发起GET请求非常简单,直接使用requests的get方法即可。比方说下面的代码获取百度首页的信息。
import requests
baidu_url = 'https://www.baidu.com'
response = requests.get(baidu_url)
print(response.content.decode())
如果要在URL上附加参数,也非常简单,使用params参数传入字典即可。参数会自动附加到URL上,列表参数也会正确的附加。这里这个网站是一个HTTP调试网站,值得收藏。如果我们访问这个网站,它会将浏览器发送的请求头,用户代理、表单参数等信息以格式化JSON形式返回,对HTTP调试非常有帮助。
base_url = 'http://httpbin.org/'
params = {
'name': 'yitian',
'