最近开始接触学习爬虫,决定把学习过程中的一些东西做以总结,方便以后复习。那么,今天就先来说说requests库。
首先,要应用requests库(是个第三方库),编译器里就得安装requests库。
爬虫的用途
爬虫就是模拟客户端发送网络请求,接收请求响应,按照一定规则自动地抓取互联网信息的程序。例如,我们可以使用爬虫来爬取股票交易数据用于测试量化投资策略;爬取一部电影的影评来对其进行分析;爬取连载小说做成pdf;甚至批量下载音乐电影等等。
进一步地说,凡是浏览器能做的事情,爬虫都能做,甚至做得更好。比如可以使用爬虫监控12306网站的余票,如果发现有符合条件的票就立刻下订单。即使订单提交失败,依然可以不间断的提交订单,直至成功地买到票。同样的操作也适用于登录教务处抢选修课,以及网站或微信上的投票(刷票)等等。
安装requests库
那么我们就在命令行里输入pip install requests
如果安装的是anaconda的请忽略这条,anaconda里requests库已有自己点安装就好。
接下来进行简单的操作,发送一个简单的请求
# 发送请求
import requests
response = requests.get('http://httpbin.org/get')
# 获取返回的html信息
print(response.text)
这样就发送了一个get请求,并且还打印了返回的内容,这个不再需要知道网页是哪个编码的,不过有时会出现编码问题,但是你也可以指定编码类型,如:
response.encoding = 'utf-8'
requests库的几种方法
(1).requests.request():构造一个请求,支撑以下各种方法的基础方法
(2).requests.get():获取HTML网页的主要方法,对应于HTTP的GET
(3).requests.head():获取HTML网页头信息的方法,对应HTTP的HEAD
(4).requests.post():向HTML网页提交POST请求的方法,对应HTTP的POST
(5).requests.put():向HTML网页提交PUT请求的方法,对应于HTTP的PUT
(6).requests.patch():向HTML网页提交局部修改请求,对应于HTTP的PATCH
(7).requests.delete():向HTML页面提交删除请求,对应于HTTP的DELETE
** request()方法的参数说明**
request()方法的语法如下:
requests.request(method, url, **kwargs)
method参数,即发送HTTP请求的方法,对应上述几种方法;url即发送请求的网址。这两个参数为必需参数。
例如我们以“GET”方法访问百度,那么相应的代码就是: