【发布时间】:2009-11-08 12:03:49
【问题描述】:
我正在构建一个小型应用程序,它将抓取内容不断增长的网站(例如在 stackoverflow 上),不同之处在于内容一旦创建就很少被修改。
现在,在第一遍中,我抓取了网站中的所有页面。
但接下来,该站点的分页内容 - 我不想重新抓取所有内容,只是最新添加的内容。
因此,如果该站点有 500 个页面,那么在第二遍时,如果该站点有 501 个页面,那么我只会抓取第一页和第二页。这是处理这种情况的好方法吗?
最后,爬取的内容最终会出现在 lucene 中——创建一个自定义搜索引擎。
所以,我想避免多次抓取相同的内容。有更好的主意吗?
编辑:
假设该站点有一个页面:将像这样访问的结果:
Results?page=1 , Results?page=2 ...等
我想跟踪上次抓取时有多少页面并仅抓取差异就足够了。 (也许使用页面上每个结果的哈希值 - 如果我开始遇到相同的哈希值 - 我应该停止)
【问题讨论】:
-
我不确定问题是什么,真的。
-
如果您假设内容永远不会被修改,您希望新的可抓取链接如何出现?
-
除了Thomas所说的,这种方法没有考虑到插入后内容可能会发生变化。保持它在这里,想想有很多答案的问题,其中澄清来自对原始问题的修改......
-
正如我在编辑中提到的,我的意思是一旦添加了“结果”,它就不会改变。当我说页面时,我的意思更多是对某些结果进行分页。一旦添加东西,总页数会发生变化,但一个结果的内容通常不会改变。
标签: web-crawler