从robots.txt開始网页爬虫之旅
做个网页爬虫或搜索引擎(下面统称蜘蛛程序)的各位一定不会陌生,在爬虫或搜索引擎訪问站点的时候查看的第一个文件就是robots.txt了。robots.txt文件告诉蜘蛛程序在server上什么文件是能够被查看的。
当一个搜索蜘蛛訪问一个网站时。它会首先检查该网站根文件夹下是否存在robots.txt,假设存在,搜索机器人就会依照该文件里的内容来确定訪问的范围;假设该文件不存在,全部的搜索蜘蛛将可以訪问网站上全部没有被口令保护的页面。
那我们应该如何使用robots.txt呢?
第一: robots.txt必须放置在一个网站的根文件夹下,并且文件名称必须所有小写。
第二:必须遵循下面语法:
最简单的 robots.txt 文件使用三条规则:
:User-Agent: 适用下列规则的漫游器(比方百度(Baiduspider)、Google(Googlebot))
:Disallow: 要拦截的网页(能够和)
:Allow: 同意语法(Disallow结合起来使用)
接下来让我们看下实际应用。
一般站点中不须要蜘蛛抓取的文件有:后台管理文件、程序文件、附件、图片、数据库文件、模板文件、样式表文件、编码文件、脚本文件我们能够写下面robots.txt内容:
User-agent: *
Disallow: /admin/ 后台管理文件
Disallow: /require/ 程序文件
Disallow: /attachment/ 附件
Disallow: /images/ 图片
Disallow: /data/ 数据库文件
Disallow: /template/ 模板文件
Disallow: /css/ 样式表文件
Disallow: /lang/ 编码文件
Disallow: /script/ 脚本文件
假设你想同意全部搜索引擎訪问站点的全部部分
1、你能够建立一个空白的文本文档。命名为robots.txt
2、User-agent: *
Disallow:
3、User-agent: *
Allow: /
假设你想禁止全部搜索引擎訪问站点的全部部分,把上面2中改成 Disallow: / 就能够了
假设你想禁止百度 User-agent: Baiduspider
假设你想禁止除Google外的一切搜索引擎
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /
注:事实上并不是全部的爬虫都会遵从robots.txt协议的,由于我们能够制造恶意爬虫,哈哈