1

我有一个关于从网站上抓取内容的问题。让我们想象在这个例子中,我们谈论的是分类风格网站上的内容,例如亚马逊或 Ebay。关于此内容的重要说明是它可以更改并且可以删除。

我看到它的方式有两个选择:

  1. 每天一次完整的新鲜刮擦。我从一个空白的数据库架构开始新的一天,每天完全重新抓取每个站点并将内容插入到新的数据库中。

  2. 增量抓取,我从昨天抓取的内容开始,在重新抓取网站时,我执行以下操作:

    Check existing URL      
            Content is still online and is it the same - Leave in DB                        
            Content is not availiable - Delete from DB      
            Content is different - Rescrape content
    

我的问题是,进行增量抓取所增加的复杂性是否真的值得,这样做有什么好处吗?我真的很喜欢每天进行一次新的抓取的简单性,但这是我的第一个抓取项目,我真的很想知道抓取专家在这种情况下会做什么。

4

2 回答 2

2

我认为答案取决于您如何使用已抓取的数据。有时增加的复杂性是值得的,有时则不然。问问自己:我的刮刀有什么要求,我需要做多少工作才能满足这些要求?

例如,如果您出于研究目的而进行刮擦,并且每天进行一次新鲜刮擦更容易,那么这可能就是您想要走的路。

正如您所说,执行增量抓取肯定更复杂,因为您需要确保正确处理更改的内容(未更改,更改,删除)。只要确保您也有处理新内容的方法。

话虽如此,增量抓取可能是合理的甚至是必要的是有原因的。例如,如果您在抓取的数据之上构建一些东西,并且由于积极的抓取工作而无法承受停机时间,您可能需要考虑增量抓取。

另请注意,实现增量抓取的方法不止一种:可以实现多种增量抓取。例如,您可能希望将某些内容优先于其他内容,例如更频繁地更新热门内容而不是不受欢迎的内容。这里的问题是,您可以添加到刮板的复杂程度没有上限。事实上,人们可以将搜索引擎爬虫视为高度复杂的增量爬虫。

于 2013-04-22T11:55:00.613 回答
1

我实现了一个基于云的应用程序,可让您自动进行抓取。

它将网站转换为 JSON/CSV 您可以选择每天下载更新的完整数据集或仅下载实施差异。

新加坡电影放映时间的每日重复抓取作业示例

于 2013-04-29T17:44:26.783 回答