web-crawler – Web爬网程序更新策略

web-crawler – Web爬网程序更新策略,第1张

概述我想从某些网站抓取有用的资源(如背景图片..).这不是一项艰苦的工作,特别是在一些精彩的项目如scrapy的帮助下. 这里的问题是我不仅想要一次抓取这个网站.我还想让我的爬网长时间运行并抓取更新的资源.所以我想知道网络爬虫是否有任何好的策略来获取更新的页面? 这是我想到的粗略算法.我将抓取过程分为几轮.每轮URL存储库将为爬网程序提供一定数量(如10000)的URL进行爬网.然后是下一轮.详细步骤 我想从某些网站抓取有用的资源(如背景图片..).这不是一项艰苦的工作,特别是在一些精彩的项目如scrapy的帮助下.

这里的问题是我不仅想要一次抓取这个网站.我还想让我的爬网长时间运行并抓取更新的资源.所以我想知道网络爬虫是否有任何好的策略来获取更新的页面?

这是我想到的粗略算法.我将抓取过程分为几轮.每轮URL存储库将为爬网程序提供一定数量(如10000)的URL进行爬网.然后是下一轮.详细步骤如下:

> crawler将起始URL添加到URL存储库
> crawler向URL存储库询问最多N个URL以进行爬网
> crawler获取URL,并更新URL存储库中的某些信息,如页面内容,获取时间以及内容是否已更改.
>回到第2步

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

由于这是一个悬而未决的问题,希望它会在这里带来一些富有成果的讨论.

解决方法 您描述的“批处理”算法是实现此目的的常用方法,我已经使用 scrapy进行了一些此类实现.

我采用的方法是初始化您的蜘蛛起始URL以使下一批抓取并正常输出数据(资源链接).然后在您选择生成下一批时处理这些.可以将所有这些并行化,因此您可以同时抓取不同批次的蜘蛛,如果您将属于同一站点的URL放在同一批次中,则scrapy将负责礼貌(根据您的偏好设置一些配置).

一个有趣的调整是将调度分解为短期(在单个批次内,在scrapy内)和长期(在爬行批次之间),提供更多增量方法的一些优点,同时保持事情稍微简单一些.

爬行订购问题有多种方法(如何决定你所提到的“刷新”),最好的方法取决于你的优先级(新鲜度与全面性,资源比其他资源更重要等) .

我想推荐Christopher olston和marc Najork的这个Web Crawling article.这是一个很棒的调查,涵盖了您感兴趣的主题(批量爬行模型和爬网排序).

总结

以上是内存溢出为你收集整理的web-crawler – Web爬网程序更新策略全部内容,希望文章能够帮你解决web-crawler – Web爬网程序更新策略所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1075278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存