笔记[Python3 网络爬虫开发实战] 3.1.4 - 分析 Robots 协议

Robots 协议介绍

Robots协议用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取,可以屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽

它通常是一个叫作 robots.txt 的文本文件,一般放在网站的根目录下。

互联网的搜索引擎,他们会检查你的根目录下是否存在 robots.txt 文件

  1. 如果存在,搜索爬虫会根据其中定义的爬取范围来爬取
  2. 如果没有找到这个文件,搜索爬虫便会访问所有可直接访问的页面

爬取规则

下面是常用的规定语法

语法规则 作用
User-agent 描述了搜索爬虫的名称比如:Baiduspider
Disallow 指定了不允许抓取的目录
Allow Disallow 一起使用,一般不会单独使用用来排除某些限制

下面我们看一个 robots.txt 的样例:

1
2
3
User-agent: *
Disallow: /
Allow: /public/
  1. User-agent:上面这个*就是全部的搜索引擎都可以爬
  2. Disallow: /:指定了不允许抓取的目录
  3. Allow: /public/:只允许爬/public/目录下的
1
2
User-agent: *
Disallow:

上面的意思允许所有爬虫访问任何目录

另外,直接把 robots.txt 文件留空也是可以的

1
2
User-agent: * 
Disallow: /

上面的意思禁止所有爬虫访问任何目录

1
2
3
User-agent: *
Disallow: /private/
Disallow: /tmp/

上面的意思禁止所有爬虫访问网站某些目录

1
2
3
4
User-agent: BaiduSpider
Disallow:
User-agent: *
Disallow: /

上面的意思只允百度一个爬虫访问

网址爬虫名字

  1. BaiduSpider百度www.baidu.com
  2. Googlebot谷歌www.google.com
  3. 360Spider360 搜索www.so.com
  4. YodaoBot有道www.youdao.com
  5. ia_archiverAlexawww.alexa.cn
  6. Scooteraltavistawww.altavista.com

看一下百度的

image-20210212174744323