使用Scrapy增量爬网网站

使用Scrapy增量爬网网站,scrapy,web-crawler,Scrapy,Web Crawler,我对爬行还不熟悉,我想知道是否可以使用Scrapy以增量方式爬行CNBC.com之类的网站?例如,如果今天我从一个站点抓取了所有页面,那么从明天起我只想收集新发布到该站点的页面,以避免抓取所有旧页面 谢谢你提供的任何信息。或在此基础上进行输入。简短回答:否 更详细的回答:您可以将文章id或文章url写入一个文件,在抓取过程中,您可以将id或url与文件中的记录相匹配 记住只加载一次文件并将其分配给变量。在您的迭代过程中,在刮片时不要加载它。是的,您可以加载,而且实际上非常简单。每个新闻网站都有一

我对爬行还不熟悉,我想知道是否可以使用Scrapy以增量方式爬行CNBC.com之类的网站?例如,如果今天我从一个站点抓取了所有页面,那么从明天起我只想收集新发布到该站点的页面,以避免抓取所有旧页面

谢谢你提供的任何信息。或在此基础上进行输入。

简短回答:否

更详细的回答:您可以将文章id或文章url写入一个文件,在抓取过程中,您可以将id或url与文件中的记录相匹配


记住只加载一次文件并将其分配给变量。在您的迭代过程中,在刮片时不要加载它。

是的,您可以加载,而且实际上非常简单。每个新闻网站都有一些非常重要的索引页面,如主页和分类(如政治、娱乐等)。没有一篇文章至少在几分钟内不浏览这些页面。每隔一分钟左右扫描这些页面,只保存链接。然后对数据库中已有的内容进行区分,并每天发布几次爬网以清除所有缺失的链接。非常标准的做法。

请尝试scrapy插件,它将使您的生活更轻松

基本上不,你必须刮去所有的页面,看看有什么变化。但是,在某些站点中,您可以通过检索每个文档的前X字节(假设服务器支持
范围
查询)从
元标记中获取更新时间戳。这是进行增量爬网的常见做法吗?我认为这对于大多数(如果不是全部的话)网络爬虫来说是一项常见的任务。在这种情况下,每次您都必须重复访问以前访问过的所有页面。谷歌也这样做吗?考虑到整个网站如此庞大,这听起来是一项糟糕的工作。谷歌通常从网站所有者那里获得一份网站地图。大多数爬虫所做的,基本上就是浏览它在站点上找到的所有链接。不管它是否已经被爬网。如果网站做得正确,一篇文章页面会有微数据片段(vcard或它被称为的东西),带有作者、发布的时间戳、评级等。这有助于谷歌机器人在这些大公司的后期处理步骤中进行大量重复数据消除。。。不是在爬虫级别。这就是他们对重复内容进行属性化和惩罚的方式。根据网站内容更改的速度,每个URL/域也有刷新频率。他们也不关心网站地图:-),但他们尊重robots.txt。注释很好,我想它们可能已经被推广了一段时间,以推动业界向更高质量的标记前进,并为更多语义内容铺平道路,但它们对于搜索或识别独特内容都不是必不可少的。