Robots.txt - 禁止爬蟲(轉)


Robots.txt - 禁止爬蟲

robots.txt用於禁止網絡爬蟲訪問網站指定目錄。robots.txt的格式采用面向行的語法:空行、注釋行(以#打頭)、規則行。規則行的格式為:Field: value。常見的規則行:User-Agent、Disallow、Allow行。

User-Agent行

User-Agent: robot-name User-Agent: *

Disallow和Allow行

Disallow: /path Disallow: # 空字符串,起通配符效果,全禁止 Allow: /path Allow: # 空字符串,起通配符效果,全允許

搜索引擎的User-Agent對應名稱

搜索引擎 User-Agent值
Google googlebot
百度 baiduspider
雅虎 slurp
MSN msnbot
Alexa is_archiver

我在Linux上抓包觀察到的一些搜索引擎訪問記錄:

# 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文件),或你想要某個指定的網頁不被搜索引擎收錄,可以使用元標簽阻止爬蟲訪問:

<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的內容:

User-agent: Baiduspider Disallow: / User-agent: baiduspider Disallow: /

百度與360的搜索引擎之爭

2012年8月,360推出搜索引擎,並與百度發生正面沖突。百度工程師跑出來說360違反robots協議,偷竊百度內容。以百度知道為例,http://zhidao.baidu.com/robots.txt的內容大致是這樣:

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搜索看,有百度知道的內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM