Python数据采集与爬虫Python语言与信息数据获取和机器学习生活不易 我用python

《Python网络爬虫》2.2 Robots协议

2017-04-06  本文已影响79人  一页编程

By 一页编程


什么是Robots协议

Robots是机器人的意思,那Robots协议是什么呢?

Robots协议的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),读起来很绕口,所以我们简称Robots协议。Robots协议的一个很重要作用就是网站告知爬虫哪些页面可以抓取,哪些不行。

我们之前讲过说一个网站想限制爬虫,有两个办法,一个办法是审查来源,一个办法是通过Robots协议来做到告知。Robots协议就是这样的一个功能,它的具体使用是在网站的根目录下放置一个文件——robots.txt文件,在这个文件中写明了在一个网站里哪些目录是允许爬虫去爬取的,哪些目录是不允许的。

通过这样的形式,你如果写了一个爬虫,你就要去尊重网站维护人员对网站资源的一个管理。

京东的Robots协议

我们看一下京东的Robots协议,浏览器打开网址:https://www.jd.com/robots.txt,就看到Robots协议的文本。

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: /

此外,京东的robots协议又提供了User-agent: EtaoSpider 这样的一个内容,其实不只是EtaoSpider,后面还有四个网络爬虫,后面都跟了一句Disallow: / 指的是这四个网络爬虫,是不允许爬去京东的任何资源,

Robots基本语法

Robots协议他通过了一个基本语法来告知所有的爬虫,它内部资源能够被访问的权限,这个语法就是User-agentDisallow

有了这样的一个基本协议,就可以对整个网站的内容做一个相关的规范,使得所有的爬虫知道他可以访问哪里,不可以访问哪里。

上一篇下一篇

猜你喜欢

热点阅读