Python网络爬虫与信息提取-Day4-网络爬虫及Robots协议

网络爬虫的尺寸

1.爬取网页 玩转网页  

小规模,数据量小

爬取速度不敏感

Requests

2.爬取网站爬取系列网站

中规模,数据规模较大

爬取速度敏感

Scrapy

3.爬取全网

大规模,搜索引擎

爬取速度关键

定制开发

 

其中,小规模以爬取网页为主的爬虫占到了90%以上.它针对特定网页或者一系列网页会发挥很大的作用.

 

网络爬虫引发的问题:

1.网络爬虫带来性能骚扰

web服务器默认只接受人类的访问,而爬虫能应用计算机的快速功能来获取相关资源.它爬取的速度比人类要快到百倍甚至千倍.对服务器来讲,默认是以人数来约定它的访问能力,但是如果有爬虫来爬取相关的内容,甚至一秒钟爬取几万次几十万次的情况下,服务器是很难提供那么高的性能的.因此受限于编写水平和目的,网络爬虫将会为Web服务器带来巨大的资源开销.从而对网站的运行者来讲,爬虫形成了骚扰.

2.网络爬虫带来法律风险

服务器上的数据有产权归属,网络爬虫获取数据后牟利将带来法律风险.

3.网络爬虫泄露隐私

网络爬虫可能具备突破简单访问控制的能力,获得被保护数据从而泄露个人隐私.

 

网络爬虫的限制:

来源审查:判断User‐Agent进行限制

检查来访HTTP协议头的User‐Agent域,只响应浏览器或友好爬虫的访问

发布公告:Robots协议

告知所有爬虫网站的爬取策略,要求爬虫遵守

 

Robots协议

Robots Exclusion Standard,网络爬虫排除标准

作用:网站告知网络爬虫哪些页面可以抓取,哪些不行

形式:在网站根目录下的robots.txt

 

案例:京东的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: /

 

# 注释,*代表所有,/代表根目录

User‐agent: *

Disallow:/

 

一些真实的Robots协议

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://www.moe.edu.cn/robots.txt (无robots协议)

 

Robots协议的遵守方式

 

Robots协议的使用

网络爬虫:自动或人工识别robots.txt,再进行内容爬取

约束性:Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险

 

1.爬取网页 玩转网页  

访问量很小:可以遵守

访问量较大:建议遵守

2.爬取网站 爬取系列网站

非商业且偶尔:建议遵守

商业利益:必须遵守

3.爬取全网

必须遵守

 

原则:类人行为可不参考Robots协议

你可能感兴趣的:(python,网络爬虫)