在 Python 爬虫中,我们使用的最多的就是 requests 库, 截止到 2020年6月,request 库最新的版本为 v2.24.0。来看放放文档介绍:
Requestsis an elegant and simple HTTP library for Python, built for human beings.
Requests是 Python 中的一个简洁优雅的第三方库,且其比较符合人们的使用习惯,这也是大部分人会使用 Requests 来模拟 Http 请求的原因。接下来我们会从使用和源码角度来谈一谈 Requests 库。
通常对于 Python 第三方模块的学习方式都是一样的。第一步都是先安装,然后是不断的使用和参考官方文档,待熟练掌握后便可以翻看其源码深入学习其实现原理,最后达到彻底掌握该模块的地步。
[store@server2 chap02]$ pip3 install requests -i http://pypi.douban.com/simple/代码块1
接下来我们参考官方文档的第一个实例进行测试,该实例主要是测试 requests 库的一些方法及其使用场景,后面我们会使用 requests 库对网页的数据进行手工爬取以比较和框架爬虫之间的区别。后续都将会在 CentOS7.8 和 Python 3 的环境下:
[store@server2chap02]$python3Python3.6.8(default,Apr22020,13:34:55)[GCC4.8.520150623(RedHat4.8.5-39)]onlinuxType"help","copyright","credits"or"license"formoreinformation.>>>importrequests>>>代码块123456
Scrapy 百度百科
接下来我们使用 requests 模块的get()方法模拟 http 的 get 请求,获取这样的页面结果:
>>> headers = {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36}
>>> r1 = requests.get(url=https://baike.baidu.com/item/scrapy, headers=headers)
>>> r1.status_code
200
>>> r1.text[:1000]html>nnnnnnn