通用爬虫技术框架是什么?

通用爬虫技术框架爬虫系统首先会从互联网页面中精心选择一部分网页,然后以这些网页的链接地址作为种子URL,再将这些种子放入待抓取URL队列中,之后爬虫从待抓取URL队列依次读取,并通过DNS解析URL,再将链接地址转换为网站服务器对应的IP地址。

 

然后将其和网页相对路径名称交给网页下载器处理,网页下载器则负责页面的下载。对于下载到本地的网页,一边将其存储到页面库中,等待建立索引等后续处理,另一边将下载网页的URL放入已抓取队列中,这个队列即记录了爬虫系统已经下载过的网页URL,可以以此避免系统的重复抓取。

对于刚下载过的网页,从中可以抽取出包含的所有链接信息,并在已下载的URL队列中进行检查,如果发现还没有被抓取过的链接,则会放到待抓取URL队列的末尾,在之后的抓取调度中再次下载这个URL对应的网页。

如此循环,直到待抓取URL队列为空,这代表着爬虫系统将能够抓取的网页已经被悉数抓完,此时又完成了一轮完整的抓取过程。

品易云全球HTTP已向多知名网站提供服务,支持API批量使用,支持多线程高并发使用。

YayCrawler是一个基于WebMagic开发的分布式通用爬虫框架,开发语言是Java。我们知道目前爬虫框架很多,有简单的,也有复杂的,有轻 量型的,也有重量型的。您也许会问:你这个爬虫框架的优势在哪里呢?额,这个是一个很重要的问题!在这个开篇中,我先简单的介绍一下我这个爬虫框架的特 点,后面的章幅会详细介绍并讲解它的实现,一图胜千言:1、分布式:YayCrawler就是一个大哥(Master)多个小弟(Worker)的架构(这种结构才是宇宙的真理),当然大哥还有一个小秘(Admin)和外界交往。2、通用性:我们很多时候需要爬取不同网站的数据,各个网站的结构和内容都有很大的差别,基本上大部分人都是遇到一个网站写一份代码,没法做到工具 的复用。YayCrawler就是想改变这种情况,把不同的部分抽象出来,用规则来指导爬虫做事。也就是说用户可以在界面上配置如何抓取某个页面的数据的 规则,等爬虫在爬取这个页面的时候就会用这个事先配置好的规则来解析数据,然后把数据持久化。3、可扩展的任务队列:任务队列由Redis实现,根据任务的状态有四种不同的任务队列:初始、执行中、成功、失败。您也可以扩展不同的任务调度算法,默认是公平调度。4、可定义持久化方式:爬取结果中,属性数据默认持久化到MongoDB,图片会被下载到文件服务器,当然您可以扩展更多的存储方式。5、稳定和容错:任何一个失败的爬虫任务都会重试和记录,只有任务真正成功了才会被移到成功队列,失败会有失败的原因描述。6、反监控组件:网站为了防止爬虫也是煞费苦心,想了一系列的监控手段来反爬虫。作为对立面,我们自然也要有反监控的手段来保障我们的爬虫任务,目前主要考虑的因素有:cookie失效(需要登陆)、刷验证码、封IP(自动换代理)。7、可以对任务设置定时刷新,比如隔一天更新某个网站的数据。作者博客地址:http://www.cnblogs.com/yuananyun 标签:爬虫
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值