前言
requests是一个第三方的模块,和urllib的功能一样,但是requests操作简单,上手快,所以我宣布,如果你喜欢的话,以后只用requests就好了,你可以忘掉关于urllib的内容了
安装
作为第三方模块,使用前首先需要安装(这正是发挥我们在1-1中搭建的虚拟环境的好时间了)
安装方法是:
pip3 install requests
或者直接前往requests作者的github下载源代码,地址为:
https://github.com/kennethreitz/requests/releases (也可以都去支持一下作者哦)
通过源代码的安装方式是,下载压缩包,然后解压缩,打开以后找到setup.py,通过运行指令python setup.py install,即可完成下载
当打开python交互模式,输入import requests不发生报错,说明安装已经成功了
使用
首先还是让我们通过httpbin,简单尝试一下我们刚刚安装的requests模块
import requests
r = requests.get("http://httpbin.org/get")
print(r.text)
仅仅使用了3行代码,就完成了访问工作
而我们也可以看到,使用requests模块时,默认的user-agent也不再是python/urllib,而是变为了"python-requests/2.25.1"
现在,我们也尝试一下,通过requests改写我们在1-5中完成的一个简单的斗破苍穹小说的爬取程序
import time
import requests # 新改动代码
url = "https://read.qidian.com/chapter/2R9G_ziBVg41/MyEcwtk5i8Iex0RJOkJclQ2"
for i in range(10):
html = requests.get(url).text # 新改动代码
for content in html.split('<div class="read-content j_readContent" id="">')[1].split('</div>')[0].split('<p>')[1:]:
print(content)
url = "https:" + html.split('<a id="j_chapterNext" href="')[1].split('"')[0]
time.sleep(2)
可以看到,我们仅仅改动了2行代码,就成功使用requests模块,重新实现了爬取小说的这一任务