Requests库
适用于爬取网页,小规模,数据量小,爬取速度不敏感。
Scrapy库
适用于爬取网站,中规模,数据规模较大,爬取速度敏感
爬虫的限制
来源审查:判断User‐Agent进行限制
检查来访HTTP协议头的User‐Agent域,只响应浏览器或友好爬虫的访问
发布公告:Robots协议
告知所有爬虫网站的爬取策略,要求爬虫遵守
Robots协议(网络爬虫排除标准)
作用:网站告知网络爬虫哪些页面可以抓取,哪些不行
形式:在网站根目录下的robots.txt文件
基本语法:#注释 *代表所有 /代表根目录
比如百度的robots.txt长这样,user-agent表示允许的爬虫,disallow表示不允许,后面跟具体目录。
Robots.txt的使用
我们在编写爬虫工具的时候,需要自动或人工的识别网站的robots.txt协议内容,准守内容规定,友好的爬取页面内容。
那么这个robots.txt协议实际是企业一个建议性的文档,爬虫可以不遵守,但存在法律风险。所以不管是出于法律道德,我们所编写的程序都应该遵循这个协议。
原则:类人行为可以不遵守robots协议(程序像人一样正常访问,不会影响网站性能)