【问题标题】:Creating a directive robots.txt [closed]创建指令 robots.txt [关闭]
【发布时间】:2011-08-02 17:23:02
【问题描述】:

我有一个我想要抓取的链接列表。我想要爬虫的所有其他链接
自己发现自己爬不进去。

我查看的方向:创建一个 robots.txt,它将禁止所有页面都期望那些存在于我的站点地图中的页面。我看到了有关如何创建此类文件的信息,其中指出我可以通过以下方式禁止网站的某些部分:
Allow: /folder1/myfile.html
Disallow: /folder1/

但我确实想要抓取的链接不在特定文件夹中。我可以为他制作一个实际上是站点地图的休文件,但这似乎不合理。你会推荐什么?

【问题讨论】:

    标签: web-crawler sitemap robots.txt google-crawlers


    【解决方案1】:

    Robots Exclusion Protocol 的 URL 规范功能受到限制。我不知道任何已发布的最大 robots.txt 文件大小,但通常预计不会很大。这只是对爬虫的推荐,不是绝对的。

    您可以考虑在 robots.txt 中引用站点地图。 wikipedia page on robots.txt 提到了此功能。这将向支持站点地图的爬虫提示您要编入索引的特定 URL。我会假设他们仍然关注这些页面上的链接,因此您仍然需要明确禁止任何您不想抓取的内部链接。

    同样,它只是一个请求推荐。爬虫没有义务遵循 robots.txt。

    【讨论】:

    • "这只是对爬虫的推荐,不是绝对的。"这并不完全正确。爬虫至少要尊重 robots.txt 中的Disallow 行,并使用机器人排除协议中规定的语法。没有行为不良的爬虫应该被完全阻止。
    【解决方案2】:

    如果您有时间或精力,从长远来看,用文件夹组织您的网站非常有帮助。

    就 robots.txt 而言,您可以列出不允许的文件或文件夹没有问题,但如果您有很多文件或文件夹,这可能会很耗时。顺便说一句,Robots.txt 只有不允许的字段,所以除非另有发现,否则一切都是允许的。

    请参阅底部的http://en.wikipedia.org/wiki/Robots_exclusion_standard,它讨论了站点地图的使用,而不是明确的禁止列表。

    【讨论】:

    • 如果我在 robots.txt 中使用站点地图,所有其他链接都会被视为不允许吗?
    • 是的,但棘手的部分是并非所有爬虫都能首先识别站点地图。
    【解决方案3】:

    如果您要禁止的文件散布在您的网站上,并且不遵循特定的命名模式(可以使用 Google、Microsoft 和其他一些爬虫支持的简单通配符来表示),那么您唯一的选择是在 robots.txt 的单独 Disallow 指令中专门列出每个文件。正如您所说,这是一项艰巨的工作。

    如果阻止抓取工具访问这些页面很重要,那么您可以单独列出每个页面,或者重新排列您的网站,以便更容易阻止那些您不想抓取的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-15
      • 2010-09-25
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 2011-01-26
      • 2010-10-02
      • 2019-04-22
      相关资源
      最近更新 更多