抓取动态网页(robots.txt是什么?蜘蛛爬取的作用及作用分析)

优采云 发布时间: 2022-02-16 20:29

  抓取动态网页(robots.txt是什么?蜘蛛爬取的作用及作用分析)

  一、robots.txt 是什么?

  robots.txt 是一个纯文本文件,网站管理员可以在其中声明他们不想被搜索引擎访问的 网站 部分,或指定搜索引擎仅 收录指定内容。

  当搜索引擎(也称为搜索机器人或蜘蛛程序)访问一个站点时,它会首先检查该站点的根目录中是否存在 robots.txt。如果存在,搜索机器人会根据文件内容判断访问权限。范围; 如果该文件不存在,搜索机器人会跟随该链接。

  二、robots.txt的作用

  1、引导搜索引擎蜘蛛爬取指定的列或内容;

  2、网站在修改或URL重写优化期间阻止不友好的搜索引擎链接;

  3、屏蔽死链接和404错误页面;

  4、屏蔽无内容和无价值的页面;

  5、阻止重复页面,例如评论页面和搜索结果页面;

  6、屏蔽任何你不想成为的页面收录;

  7、引导蜘蛛抓取地图网站;

  三、Robots 语法(三个语法和两个通配符)

  三种语法如下:

  1、用户代理:(定义搜索引擎)

  例子:

  用户代理:*(定义所有搜索引擎)

  User-agent:Googlebot(定义谷歌,只允许谷歌蜘蛛抓取)

  User-agent:Baiduspider(定义百度,只允许百度蜘蛛爬行)

  不同的搜索引擎对搜索机器人有不同的称呼,谷歌:Googlebot,百度:Baiduspider,MSN:MSNbot,雅虎:Slurp。

  2、Disallow:(用于定义不允许被蜘蛛爬取的页面或目录)

  例子:

  Disallow:/(禁止蜘蛛爬取网站的所有目录,“/”表示根目录)

  Disallow: /admin (禁止蜘蛛爬取 admin 目录)

  Disallow: /abc.html(禁止蜘蛛爬到 abc.html 页面)

  Disallow: /help.html(禁止蜘蛛爬到 help.html 页面)

  3、允许:(用于定义允许蜘蛛爬取的页面或子目录)

  例子:

  允许:/admin/test/(允许蜘蛛爬取admin下的test目录)

  允许:/admin/abc.html(允许蜘蛛爬到admin目录下的abc.html页面)

  两个通配符如下:

  4、匹配“$”

  $ 通配符:匹配 URL 末尾的字符

  5、通配符“*”

  * 通配符:匹配 0 个或多个任意字符

  四、robots.txt 综合示例

  1、禁止搜索引擎抓取特定目录

  在这个例子中,网站有三个目录限制了搜索引擎的访问,即搜索引擎不会访问这三个目录。

  用户代理:* 禁止:/admin/

  禁止:/tmp/

  禁止:/abc/

  2、admin目录是禁止的,但是admin目录下的seo子目录是允许爬取的

  用户代理:* 允许:/admin/seo/

  禁止:/admin/

  3、禁止抓取/abc/目录下所有以“.htm”为后缀的URL(包括子目录)

  用户代理:* 禁止:/abc/*.htm$

  4、禁用对 网站 中所有动态页面的爬取

  用户代理:* 禁止:/?

  用“?”阻止所有文件,从而阻止所有动态路径。

  5、不允许百度蜘蛛抓取网站所有图片:

  用户代理:百度蜘蛛

  禁止:/.jpg$

  禁止:/.jpeg$

  禁止:/.gif$

  禁止:/.png$

  禁止:/*.bmp$

  6、防止 网站 页面被抓取,同时仍然在这些页面上展示 AdSense 广告

  用户代理:* 禁止:/folder1/

  用户代理:Mediapartners-Google

  允许:/folder1/

  请屏蔽除 Mediapartners-Google 之外的所有漫游器。这可以防止页面出现在搜索结果中,同时允许 Mediapartners-Google 机器人分析页面以确定要展示的广告。Mediapartners-Google 机器人不与其他 Google 用户代理共享网页。

  五、备注

  1、robots.txt 文件必须放在网站 的根目录下,不能放在子目录下。

  以吴君泽的博客网站为例:比如通过robots.txt文件可以访问。

  

  2、robots.txt 文件名一定要小写,记得给机器人加“s”。

  3、User-agent、Allow、Disallow 在“:”之后有一个字符空格。

  4、后跟斜杠“/”的路径和不带斜杠的路径是有区别的

  禁止:/帮助

  防止蜘蛛访问/help.html、/helpabc.html、/help/index.html

  禁止:/帮助/

  禁止蜘蛛访问 /help/index.html。但允许访问/help.html、/helpabc.html

  5、Disallow 和 Allow 行的顺序是有意义的:

  例如:

  允许蜘蛛访问 /admin/ 目录中的 seo 文件夹

  用户代理:* 允许:/admin/seo/

  禁止:/admin/

  如果 Allow 和 Disallow 的顺序颠倒:

  用户代理:* 禁止:/admin/

  允许:/admin/seo/

  爬虫无法访问/admin/目录下的seo文件夹,因为第一个Disallow:/admin/已经匹配成功。

  六、关于机器人元

  Robots.txt 文件主要限制整个站点或目录的搜索引擎访问,而 Robots Meta 标签主要针对特定​​页面。与其他META标签(如使用的语言、页面描述、关键词等)一样,Robots Meta标签也放置在页面上,专门告诉搜索引擎ROBOTS如何抓取内容的页面。

  Robots Meta标签不区分大小写,name="Robots"表示所有搜索引擎,对于特定搜索引擎(如google)可以写成name="Googlebot"。内容部分有四个命令选项:index、noindex、follow、nofollow,命令之间用“,”分隔。

  Index 指令告诉搜索机器人抓取页面;

  NoIndex 命令:告诉搜索引擎不要抓取该页面

  Follow指令表示搜索机器人可以继续沿着页面上的链接爬行;

  NoFollow 命令:告诉搜索引擎不允许从此页面找到链接并拒绝它们进一步访问。

  Robots Meta标签的默认值为Index和Follow;

  根据上面的命令,我们有以下四种组合:

  可以爬取这个页面,并且可以继续索引这个页面上的其他链接=

  该页面不允许被爬取,但其他链接可以沿着该页面被爬取和索引

  您可以爬取该页面,但不允许爬取该页面上的其他链接进行索引

  不要爬取这个页面,也不要沿着这个页面爬取其他链接进行索引。

  七、关于 rel="nofollow"

  将“nofollow”放在超链接中告诉搜索引擎不要抓取特定链接。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线