2

我有一个我想要抓取的链接列表。我希望爬虫
自己发现的所有其他链接都不会被爬取。

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

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

4

3 回答 3

1

机器人排除协议的URL 规范功能受到限制。我不知道任何已发布的最大 robots.txt 文件大小,但通常预计不会很大。这只是对爬虫的建议,而不是绝对的。

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

同样,这只是一个请求建议。抓取工具没有义务遵循 robots.txt。

于 2011-08-02T17:46:56.717 回答
0

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

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

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

于 2011-08-02T17:35:01.483 回答
0

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

如果阻止爬虫访问这些页面很重要,那么您可以单独列出每个页面,或者重新排列您的站点,以便更轻松地阻止那些您不想爬取的文件。

于 2011-08-02T18:22:24.930 回答