完全或增量报废 - 人们使用什么?

时间:2013-04-22 11:27:05

标签: python mysql web-scraping screen-scraping scrapy

我有一个问题,即废除网站上的内容。让我们想象一下,在这个例子中,我们讨论的是分类样式网站上的内容,例如Amazon或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
    
  3. 我的问题是,进行增量扫描的额外复杂性是否真的值得,这有什么好处?我真的很喜欢每天做一次新鲜刮擦的简单性,但这是我的第一个刮刮项目,我真的很想知道在这样的情况下报废专家做了什么。

2 个答案:

答案 0 :(得分:2)

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

例如,如果你正在为研究目的而刮痧,而且每天更容易进行新鲜刮擦,那么这可能就是你想要走的路。

执行增量扫描肯定比你说的更复杂,因为你需要确保你已经更改了内容(未更改,更改,删除)。只需确保您也有处理新内容的方法。

话虽如此,有理由认为增量刮削可能是合理的,甚至是必要的。例如,如果您在抓取数据的基础上构建某些内容并且由于主动抓取工作而无法承受停机时间,则可能需要考虑增量抓取。

另请注意,实现增量擦除不仅有一种方法:可以实现多种增量擦除。例如,您可能希望将某些内容优先于其他内容,比如更新流行内容,而不是不受欢迎。这里的事情是你可以为你的铲运机添加多少复杂程度没有上限。事实上,人们可以将搜索引擎抓取工具视为高度复杂的增量刮刀。

答案 1 :(得分:1)

我实施了一个基于云的应用程序,允许您自动化您的抓取。

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

This example of a daily recurring scrape job for movie showtimes in Singapore