首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web爬虫更新策略

Web爬虫更新策略
EN

Stack Overflow用户
提问于 2010-04-05 03:28:55
回答 1查看 3K关注 0票数 4

我想抓取有用的资源(比如背景图片)。)从某些网站。这不是一项艰苦的工作,特别是在一些出色的项目,如刮刮的帮助下。

这里的问题是,我不仅要爬这个网站一次。我还想让我的爬行长时间运行,并抓取更新的资源。因此,我想知道,有什么好的策略,一个网页爬虫得到更新的网页?

这是我想过的一个粗略的算法。我把爬行过程分成了几个回合。每一轮URL存储库都会为爬虫提供一定数量(比如,10000)的URL来进行抓取。然后下一轮。具体步骤如下:

  1. 爬虫将启动URL添加到URL存储库
  2. 爬虫要求URL存储库最多抓取N个URL
  3. 爬虫获取URL,并更新URL存储库中的某些信息,如页面内容、获取时间和内容是否已更改。
  4. 回到第二步

为了进一步说明这一点,我仍然需要解决以下问题:如何确定网页的“刷新性”,这表示该网页被更新的概率?

由于这是一个尚未解决的问题,希望它将在这里带来一些富有成果的讨论。

EN

回答 1

Stack Overflow用户

发布于 2012-05-18 12:24:27

您描述的“批处理”算法是实现此功能的一种常见方法,我已经用刮痕完成了一些这样的实现。

我采取的方法是初始化您的蜘蛛启动URL,以获得下一批抓取和输出数据(资源+链接)的正常情况。然后,在选择生成下一批时处理这些内容。所有这些都可以并行化,因此有许多蜘蛛同时爬行不同的批,如果您将属于同一站点的URL放在同一批中,那么scrapy将负责礼貌(为您的首选项进行一些配置)。

一个有趣的调整是将调度分为短期(在单个批内,在scrapy内)和长期(在爬行批之间),这给了增量式方法的一些优点,同时保持了一些简单。

你提到的爬行排序问题有很多方法(如何决定“刷新-”),最好的方法取决于你的优先级是什么(新鲜还是全面,资源比其他资源更重要,等等)。

我想推荐这个网页爬行文章由克里斯托弗奥尔斯顿和马克纳约克。这是一个伟大的调查,并涵盖了您感兴趣的主题(批爬行模型和爬虫排序)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2576785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档