Python爬虫协议

Robots 协议全称是 网络爬虫排除标准(Robots exclusion protocol),是互联网爬虫的一项公认的道德规范,目的用来告诉爬虫哪些页面允许爬取,哪些则不允许

说明

恶意消耗他人服务器资源,是很不道德的事,恶意爬取不被允许的数据,还可能会引起严重的法律后果

不过一般来说,服务器可能不太在意小爬虫,但会拒绝给服务器带来很大压力的频率很高的大型爬虫和恶意爬虫

Robots 协议虽然是一种道德规范,相关法律法规还在完善之中,但我们还是应该自觉遵守,在爬取之前先看看 Robots 协议是否允许爬取,也要限制好爬虫的频率,避免给服务器太大压力

查看协议

查看协议只要在网站的域名后面加上 /robots.txt

以京东 https://www.jd.com/robots.txt 为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
User-agent: *               #所有爬虫
Disallow: /?* #禁止访问网站中的动态页面
Disallow: /pop/*.html #禁止访问/pop/目录下的所有以".html"为后缀的UR
Disallow: /pinpai/*.html?* #禁止访问/pinpai/目录下的所有以".html"为后缀的动态页面

User-agent: EtaoSpider
Disallow: / #禁止访问所有页面

User-agent: HuihuiSpider
Disallow: /

User-agent: GwdangSpider
Disallow: /

User-agent: WochachaSpider
Disallow: /

User-agent 指定对哪些爬虫生效

* 表示所有, / 表示根目录

Disallow 表示禁止被访问,还有一种 Allow 表示允许被访问