爬虫不从网站根目录中获取Robots.txt文件,而是从网络根目录获取

时间:2013-05-10 13:07:23

标签: web-crawler google-crawlers

我已使用robots.txt阻止抓取工具抓取我的网络根目录(在我的情况下为/ var / www /)。我在/ var / www /中有robots.txt,它的下面一行是:     禁止/

现在我需要抓取一个我的web根目录(/var/www/mysite.com)的爬虫。我在该目录中添加了robots.txt,并在apache中添加了虚拟主机以允许对此mysite.com进行爬网。但是抓取工具仍然从我的网络根目录(/ var / www)而不是(/var/www/mysite.com)获取robots.txt。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您只需在根目录中指定一个robots.txt

可以在official documentation

中找到更多信息
  

把它放在哪里

     

简答:在您的网络服务器的顶级目录中。

     

答案越久:

     

当机器人为URL查找“/robots.txt”文件时,它会删除   来自URL的路径组件(来自第一个单斜杠的所有内容),   并将“/robots.txt”放在其位置。

     

例如,对于“http://www.example.com/shop/index.html,它会   删除“/shop/index.html”,并将其替换为“/robots.txt”,和   最终会以“http://www.example.com/robots.txt”结束。

同样来自同一页面(在底部),它给出了仅允许某个网页的示例:

  

排除除一个

之外的所有文件      

目前这有点尴尬,因为没有“允许”字段。

     

简单的方法是将不允许的所有文件放入单独的文件中   目录,说“stuff”,并将一个文件保留在上面的级别   目录:

User-agent: *
Disallow: /~joe/stuff/
  

或者你也可以   明确禁止所有不允许的页面:

User-agent: * 
Disallow: /~joe/junk.html 
Disallow: /~joe/foo.html 
Disallow: /~joe/bar.html