Python 提供了多个用来编写爬虫程序的库,除了前面已经介绍的 urllib 库之外,还有一个很重的 Requests 库,这个库的宗旨是“让 HTTP 服务于人类”。
Python requests
Requests 是 Python 的第三方库,它的安装非常简便,如下所示:
python -m pip install requests
Requests 库是在 urllib 的基础上开发而来,它使用 Python 语言编写,并且采用了 Apache2 Licensed(一种开源协议)的 HTTP 库。与 urllib 相比,Requests 更加方便、快捷,因此在编写爬虫程序时 Requests 库使用较多。
常用请求方法
1) requests.get()
该方法用于 GET 请求,表示向网站发起请求,获取页面响应对象。语法如下:
res = requests.get(url,headers=headers,params,timeout)
参数说明如下:
-
• url:要抓取的 url 地址。
-
• headers:用于包装请求头信息。
-
• params:请求时携带的查询字符串参数。
-
• timeout:超时时间,超过时间会抛出异常。
具体使用示例如下:
import requests url = 'http://baidu.com' response = requests.get(url) print(response)
输出结果:
<Response [200]>
获取带查询字符串参数的响应对象,如下所示:
import requests data = { 'name': '编程帮', 'url': "www.biancheng.net" } response = requests.get('http://httpbin.org/get', params=data) #直接拼接参数也可以 #response = requests.get(http://httpbin.org/get?name=gemey&age=22) #调用响应对象text属性,获取文本信息 print(response.text)
输出结果:
{ "args": { "name": "\u7f16\u7a0b\u5e2e", "url": "www.biancheng.net" }, "headers": { "Accept": "*/