一、网络爬虫的尺寸
1.爬取网页 玩转网页
小规模,数据量小
爬取速度不敏感
Requests库
使用比例:>90%
2.爬取网站 爬取系列网站
中规模,数据规模较大
爬取速度敏感
Scrapy库
3.爬取全网
大规模,搜索引擎
爬取速度关键
定制开发
二、网络爬虫引发的问题
1.网络爬虫的性能骚扰
Web服务器默认接收人类访问
受限于编写水平和目的,网络爬虫将会为Web服务器带来巨大的资源开销
2.网络爬虫的法律风险
服务器上的数据有产权归属
网络爬虫获取数据后牟利将带来法律风险
3.网络爬虫的隐私泄露
网络爬虫可能具备突破简单访问控制的能力,获得被保护数据
从而泄露个人隐私
三、网络爬虫的限制
1. 来源审查:判断User‐Agent进行限制
检查来访HTTP协议头的User‐Agent域,只响应浏览器或友好爬虫的访问
2. 发布公告:Robots协议
告知所有爬虫网站的爬取策略,要求爬虫遵守
四、Robots协议
1.Robots协议
Robots Exclusion Standard,网络爬虫排除标准
作用:网站告知网络爬虫哪些页面可以抓取,哪些不行
形式:在网站根目录下的robots.txt文件
2.Robots协议基本语法
# 注释,*代表所有,/代表根目录
User‐agent: *
Disallow: /
3. 京东的Robots协议案例
文件地址:https://www.jd.com/robots.txt
文件内容
User‐agent: * Disallow: /?* Disallow: /pop/*.html Disallow: /pinpai/*.html?* User‐agent: EtaoSpider Disallow: / User‐agent: HuihuiSpider Disallow: / User‐agent: GwdangSpider Disallow: / User‐agent: WochachaSpider Disallow: /
4. 真实的Robots协议
1). https://www.sina.com/robots.txt
User-agent: * Disallow:
2). http://www.baidu.com/robots.txt
User-agent: Baiduspider Disallow: /baidu Disallow: /s? Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: Googlebot Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: MSNBot Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: Baiduspider-image Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: YoudaoBot Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: Sogou web spider Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: Sogou inst spider Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: Sogou spider2 Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: Sogou blog Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: Sogou News Spider Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: Sogou Orion spider Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: ChinasoSpider Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: Sosospider Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: yisouspider Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: EasouSpider Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ User-agent: * Disallow: /
3).http://news.sina.com.cn/robots.txt
User-agent: * Disallow: /wap/ Disallow: /iframe/ Disallow: /temp/
4).https://www.qq.com/robots.txt
User-agent: * Disallow: Sitemap: http://www.qq.com/sitemap_index.xml
5).https://news.qq.com/robots.txt
User-agent: * Disallow: Sitemap: http://www.qq.com/sitemap_index.xml Sitemap: http://news.qq.com/topic_sitemap.xml
6).http://news.sina.com.cn/robots.txt
User-agent: * Disallow: /wap/ Disallow: /iframe/ Disallow: /temp/
五、 Robots协议的遵守方式
1.Robots协议的使用
网络爬虫:自动或人工识别robots.txt,再进行内容爬取
约束性:Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险
2.对Robots协议的理解
1).爬取网页 玩转网页
访问量很小:可以遵守
访问量较大:建议遵守
2).爬取网站 爬取系列网站
非商业且偶尔:建议遵守
商业利益:必须遵守
3).爬取全网
必须遵守
4).原则:类人行为可不参考Robots协议