Python网络爬虫.5(笔记)
笔记均是观看慕课视频所记录的。
网络爬虫的尺寸:
尺寸 | 功能 |
---|---|
小规模,数据量小爬取速度不敏感Requests库>90% | 爬取网页,玩转网页 |
中规模,数据规模较大爬取速度敏感Scrapy库 | 爬取网站,爬取系列网站 |
大规模,搜索引擎爬取速度关键定制开发 | 爬取全网 |
网络爬虫的“骚扰”:
受限于编写水平和目的,网络爬虫将会为web服务器带来巨大的资源开销。
网络爬虫的法律风险:
服务器上的数据有产权归属
网络爬虫获取数据后牟利将带来法律风险
网络爬虫的隐私泄露:
网络爬虫可能具备突破简单访问控制的能力,获得被保护数据,从而泄露个人隐私
网络爬虫的限制:
- 来源审查:判断User-Agent进行限制
检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫的访问 - 发布公告:Robots协议
告知所有爬虫网站的爬取策略,要求爬虫遵守
Robots协议:
Robots Exclusion Standard,网络爬虫排除标准
作用:网络告知网络爬虫哪些网页可以抓取,哪些不行
形式:在网站根目录下的robots.txt文件
Robots协议基本语法:
# 注释,*代表所有,/代表根目录
User-agent: *
Disallow: /
案例:
http://www.baidu.com/robots.txt
http://news.sina.com.cn/robots.txt
http://www.qq.com/robots.txt
http://news.qq.com/robots.txt
http://ww.moe.edu.cn/robots.txt(无Robots协议)
若无Robots协议,则可任意访问。
Robots协议的遵守方式
网络爬虫:自动或人工识别robots.txt,再进行内容爬取
约束性:Robots协议时建议但非约束性,网络爬虫可以不遵守,但存在法律风险
原则:类人行为可不参考Robots协议