我有一个我想要抓取的链接列表。我想所有其他链接爬虫
他自己发现不被抓走。
我查看过的方向:创建一个robots.txt,它将禁止所有页面预期我的站点地图中存在的页面。我看到了有关如何创建这样一个文件的信息,该文件声明我可以通过以下方式禁止部分网站:
Allow: /folder1/myfile.html
Disallow: /folder1/
但我想要抓取的链接不在特定的文件夹中。我可以让他成为一个实际上是站点地图的休文件,但这似乎不合理。你会推荐什么?
答案 0 :(得分:1)
Robots Exclusion Protocol的URL规范功能有限。我不知道任何已发布的最大robots.txt文件大小,但通常预计不会非常大。这只是对爬虫的推荐,而不是绝对的推荐。
您可以考虑在robots.txt中引用站点地图。 wikipedia page on robots.txt提到了这种能力。这将暗示支持站点地图的抓取工具您想要索引的特定网址。我会假设他们仍然会关注这些页面上的链接,所以你仍然需要明确禁止任何你不想被抓取的内部链接。
同样,它只是一个请求或推荐。爬虫没有义务关注robots.txt。
答案 1 :(得分:0)
如果您有时间或精力,从长远来看,组织带文件夹的网站非常有用。
就robots.txt而言,您可以列出不允许的文件或文件夹没有问题,但如果您有很多,这可能会非常耗时。顺便说一句,Robots.txt只有不允许的字段,所以除非另有说明,否则一切都被允许。
请参阅:http://en.wikipedia.org/wiki/Robots_exclusion_standard,它在底部讨论了站点地图的使用,而非明确的禁止列表。
答案 2 :(得分:0)
如果您要禁止的文件散布在您的网站周围,并且不遵循可以使用Google,Microsoft和其他一些抓取工具支持的简单通配符表示的特定命名模式,那么您唯一的其他选择是具体地在robots.txt中的单独Disallow
指令中列出每个文件。如你所说,这是一项巨大的工作。
如果阻止抓取工具访问这些网页很重要,那么您可以单独列出每个网页,也可以重新排列网站,以便更轻松地阻止那些您不想抓取的网站。