前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >robots.txt文件详解「建议收藏」

robots.txt文件详解「建议收藏」

作者头像
全栈程序员站长
发布2022-08-23 15:06:22
1.5K0
发布2022-08-23 15:06:22
举报

大家好,又见面了,我是你们的朋友全栈君。

Robots.txt – 禁止爬虫

robots.txt用于禁止网络爬虫访问网站指定目录。robots.txt的格式采用面向行的语法:空行、注释行(以#打头)、规则行。规则行的格式为:Field: value。常见的规则行:User-Agent、Disallow、Allow行。

User-Agent行

代码语言:javascript
复制
User-Agent: robot-name
User-Agent: *

Disallow和Allow行

代码语言:javascript
复制
Disallow: /path
Disallow:           # 空字符串,起通配符效果,全禁止

Allow: /path
Allow:              # 空字符串,起通配符效果,全允许

搜索引擎的User-Agent对应名称

搜索引擎

User-Agent值

Google

googlebot

百度

baiduspider

雅虎

slurp

MSN

msnbot

Alexa

is_archiver

我在Linux上抓包观察到的一些搜索引擎访问记录:

代码语言:javascript
复制
# tcpdump -n -nn -A -l -s1024 'tcp port 80'|grep User-Agent
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
User-Agent: Googlebot-Image/1.0
User-Agent: Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 5 subscribers; feed-id=4619555564728728616)
User-Agent: Mozilla/5.0(compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)
User-Agent: Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )
User-Agent: Mozilla/5.0 (compatible; JikeSpider; +http://shoulu.jike.com/spider.html)

JikeSpider是即刻搜索(人民搜索)。

robots.txt的补充

如果你没有对网站根目录的写入权限(无法建立robots.txt文件),或你想要某个指定的网页不被搜索引擎收录,可以使用元标签阻止爬虫访问:

代码语言:javascript
复制
<meta name="robots" content="noindex">              <!-- 阻止所有爬虫 -->
<meta name="googlerobot" content="noindex">         <!-- 阻止Google收录 -->

robots元标记的默认值为”index,follow”,它的取值可以是(来自Google站长帮助):

noindex

防止网页被编入索引。

nofollow

防止googlebot从此页面中跟踪链接。

noarchive

防止Google显示网页的快照链接。

noimageindex

不被Google图片搜索索引。

现实中的robots.txt

淘宝屏蔽百度

淘宝屏蔽了百度抓取(2008年9月),http://www.taobao.com/robots.txt的内容:

代码语言:javascript
复制
User-agent: Baiduspider
Disallow: /

User-agent: baiduspider
Disallow: /

百度与360的搜索引擎之争

2012年8月,360推出搜索引擎,并与百度发生正面冲突。百度工程师跑出来说360违反robots协议,偷窃百度内容。以百度知道为例,http://zhidao.baidu.com/robots.txt的内容大致是这样:

代码语言:javascript
复制
User-agent: Baiduspider
Disallow: /w?
Allow: /

User-agent: Googlebot
User-agent: MSNBot
User-agent: Baiduspider-image
User-agent: YoudaoBot
User-agent: Sogou web spider
User-agent: Sogou inst spider
User-agent: Sogou spider2
User-agent: Sogou blog
User-agent: Sogou News Spider
User-agent: Sogou Orion spider
User-agent: JikeSpider
User-agent: Sosospider
Allow: /

User-agent: *
Disallow: /

也就是说对360爬虫而言,应该走最后一条规则,也就是禁止抓取百度知道所有内容。但从360搜索看,有百度知道的内容。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138632.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月6,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Robots.txt – 禁止爬虫
    • 搜索引擎的User-Agent对应名称
      • robots.txt的补充
      • 现实中的robots.txt
        • 淘宝屏蔽百度
          • 百度与360的搜索引擎之争
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档