自动优化爬虫的抓取方法

文档序号:6562852阅读:247来源:国知局
专利名称:自动优化爬虫的抓取方法
技术领域
本发明涉及一种网络爬虫信息抓取的方法,尤其是搜索引擎利用爬虫技术抓取信息并自 动优化抓取频率的方法。
背景技术
搜索引擎是现今互联网上广为应用的一项技术,人们只需要输入自己所寻找信息的部分 关键字就可以通过搜索引擎找到大量与该关键字相关的信息,例如谷歌、百度。
搜索引擎的信息来源多种多样,有的是通过竞价广告的形式由发起这项广告的广告商向 搜索引擎运营商支付广告费,然后搜索引擎运营商在自己的搜索引擎中刊登该广告的简要信 息及该广告的链接,而更多的非广告信息,例如新闻、学术信息是需要搜索引擎运营商自己 去寻找并抓取加入搜索引擎的,面对互联网上的海量信息,如何将大量搜索引擎运营商关心 的信息从其他的无用信息中区分出来,并分门别类的加入搜索引擎成为了搜索引擎运营商关 心的问题。
爬虫技术的出现解决了这种问题,爬虫技术是一种成熟的网页抓取技术,它能够按照设 定的条件将符合该条件的信息从互联网的海量信息中抓取出来,将其应用于搜索引擎可以有 效地解决对各种有用信息的抓取问题。但是,爬虫在抓取信息时仍需遍历网页,这在网页数 量较少的时候并不会出现什么问题,但是,在面对互联网上海量的网页时,遍历所有网页几 乎是不可想象的,也是很难办到的,即使办到了,由于更新一次信息需要消耗大量的时间和 资源,必将影响抓取信息的时效性,所以为了折中利与弊,现在往往只是利用爬虫在一定数 量、 一定范围的网页中抓取信息,而这些网页一般是事先通过统计得出的含有有用信息的概 率和数量都较高的网页。比如,我们现在要搜索关于北京的租房信息,图1是一个有租房信 息的搜索列表页(index页),上面是租房信息的列表、该房的简要信息以及该房信息页(item 页)的链接(链接只要用鼠标点击该房在列表中的简要信息即可),根据链接我们可以找到 如图2所示的记录该房具体信息的信息页,这样,我们可以将该搜索列表页记录入爬虫的搜 索范围,使爬虫每隔一段时间在该搜索列表页上检索一次是否有新的信息页链接,如果有根 据链接下载该信息页,抽取该信息页中我们关心的信息,这样既能保证爬虫抽取有用网页的 效率又能縮短遍历一次所有网页的时间。
但是,以上的利用爬虫抓取网上信息的方法仍旧是一种基于理想状态下的信息抓取方式, 在实际应用中并不能让爬虫的抓取效率达到最高,这是因为新信息的发布往往具有极强的时 效性,发布也更多是集中在一个时间段内,在其他时间则相对比较平静,比如,每年火车票、 飞机票和长途汽车票的发售高峰是寒暑假及黄金周,房屋租赁高峰是每年高等院校毕业生离 校前后的一段日子等。如果我们用相同的频率去抓取以上发布高峰期的信息和发布低谷期的 信息,显然不能达到信息抓取的最高效率,因为对发布高峰期来说信息抓取频率相对较低, 影响了所抓取信息的时效性,对发布低谷期来说信息抓取频率相对又较高,降低了系统效能, 增加了无谓的资源消耗。直到目前,还没有一种方法能够有效解决此问题。

发明内容
针对现有技术存在的缺陷和不足,本发明提供一种自动优化爬虫的抓取方法,能够动态 的根据对信息的抓取结果自动修正系统以后再次检索该信息页的频率。
为了达到上述发明目的,本发明自动优化爬虫的抓取方法,其特征在于包括以下歩骤-
(1) 从互联网上抓取的信息页中抽取信息,如果抽取成功,加快再次抓取该信息页的频
率;否则减慢再次抓取该信息页的频率;
(2) 在修改后的频率到时,重复步骤(1)。
本发明根据每次对信息的抓取结果自动修正系统以后再次检索该信息页的频率,这样, 在信息的发布高峰期通过本发明的方法可以不断提高再次抓取该信息页的频率;在信息的发 布低谷期又可以不断降低再次抓取该信息页的频率,优化了系统资源,提高了系统效能,提 高了信息抓取的效率。


图1为索引列表页示意图2为信息页示意图3为本方法流程图。
具体实施例方式
下面结合附图对本发明作进一步的详细说明
酷讯的爬虫调度算法采用观测index页下载是否成功、大小是否变化、时候页面信息符 号需求、是否有有效的信息链接、是有效的信息被抓取条数、以及抓取时间等几个因数来计
算刷新频率。本方法主要是通过在计算机系统中按照以下公式对信息抓取频率进行修正的-
<formula>formula see original document page 5</formula>
本公式中,freq(n,ch,t)表示当前为t时刻,爬虫的第n次对ch频道的抓取;fCH ()是 各个频道对各自特征对结果加以修正的函数,其中,kd。
(l一bd,)表示index页下载失败后 降低再次抓取这个索引列表页的频率数,k—,(l-b^,)表示item页下载失败后降低再次抓取 这个信息页的频率数,0 kuen^表示item页下载成功后提高再次抓取这个索引列表页的频率 数,a为每个频道对再次抓取这个索引列表页的频率的基于统计和推理得出的专家修正值, n"n表示每个频道根据该频道本身的特性对再次抓取该索引列表页的频率的修正,ch为该频
道的频道号;ftime(t)是根据当前时间是白天还是晚上,节假日还是非节假日做的调整函数; freq(n-l)是上一次爬虫对该频道的抓取频率值。
如图3所示,本公式是通过以下步骤实现的
(1) 从互联网上抓取的信息页中抽取信息,如果抽取成功,加快再次抓取该信息页的频 率;否则减慢再次抓取该信息页的频率;
(2) 在修改后的频率到时,重复步骤(1)。 具体为,步骤(1)进一步包括
(11) 用于从互联网上抓取信息并根据抓取结果修正抓取频率的抓取检测模块,按照频 道分类选择一个频道,从互联网上抓取内容与该频道分类相对应的索引列表页,如果抓取失 败,则说明该索引列表页的链接下载不可靠,对该索引列表页过于频繁的抓取可能会造成更 多的抓取失败,从而浪费系统资源,所以抓取检测模块在上一次爬虫对该频道的抓取频率值 上乘以一个kd。,n (l — bd。m)系数以降低再次抓取这个索引列表页的频率,进而达到节省系统
资源的目的,然后进入步骤(15);如果抓取成功,进入步骤(12);
(12) 抓取检测模块检测抓取成功的索引列表页同上次抓取时相比是否添加了新的信息,
如果是,进入步骤(13);否则,说明该索引列表页的更新频率赶不上爬虫对该索引列表页的
检索频率,抓取检测模块同样是在上一次爬虫对该频道的抓取频率值上乘以一个kd,(l一U
系数以降低再次抓取这个索引列表页的频率,使爬虫对该索引列表页的检索频率降到与该索
引列表页自身的更新频率相匹配的程度,从而达到节省系统资源的目的,进入步骤(15);
(13) 抓取检测模块下载索引列表页所添加的新的信息所对应的信息页,如果下载成功, 进入步骤(14);否则,如果抓取失败,说明该信息页的链接下载不可靠,对该信息页过于频 繁的抓取可能会造成更多的抓取失败,从而浪费系统资源,所以在上一次爬虫对该频道的抓 取频率值上乘以一个kin(tex(l-b^》系数以降低再次抓取链接该信息页的索引列表页的频率, 以达到节省系统资源的目的,进入步骤(15);
(14) 抓取检测模块将所述下载成功的信息页发送给用于从信息页中抽取有用信息的抽
取模块,抽取模块每成功从该信息页中抽取一条信息,说明该信息页的利用价值增大,通知 抓取检测模块加快一次以后抓取包含该信息的信息页所属的索引列表页的频率,然后抽取模 块将该信息存入与该信息内容的频道分类对应的频道,抓取检测模块在上一次爬虫对该频道
的抓取频率值上除以一个0 kuje系数(其中m为成功从该信息页中抽取的信息条数),以降
低再次抓取链接该信息页的索引列表页的频率,达到优化系统资源,提高系统效能,提高信 息抓取效率的目的,然后进入步骤(2);
(15) 抓取检测模块根据当前时间对修改后的再次抓取所述索引列表页的频率进行再修 正。如果当前时间为晚上或节假日,可能由于网络原因或是处于休息时间的原因,链接质量 或者索引列表页的更新频率会降低,但这并不能代表常态下(工作日的白天)该索引列表页 的链接质量或者更新频率,所以抓取检测模块在上一次爬虫对该频道的抓取频率值上乘以一 个ftime(t)系数,用来将再次抓取这个索引列表页的频率的降低幅度减缓,以使该频率值更 接近实际情况。
为了使得到的频率值更贴近各频道的实际需要,在步骤(15)之后还可以包括
(16) 抓取检测模块再次对步骤(15)修正后的再次抓取这个索引列表页的频率进行修 正,所述修正包括根据频道分类特性进行的修正和根据各频道共性进行的专家修正。
根据频道分类特性进行的修正是根据各频道自身的特点,比如,有的频道活跃时间很集 中(例如火车票购买高峰就集中在一年里的几天,该频道的点击高峰也就是那几天),针对这
一特点,可以考虑用n"Q指数适当提高或降低得到的该频道的频率值以适应该频道特性。
根据各频道共性进行的专家修正是指实际得到的频率值与我们经过长期统计或其他方法 得到的频率值可能有出入,为本发明得到的频率值乘以一个专家修正值a以取得折衷值。
本发明能适应大多数网站。包括信息发布频率变化大无规律的和信息发布有规律的,并 且大多数情况能在1到2分钟内把刚刚发布的信息抓取回来。本发明优化了系统资源,提高
了系统效能,提高了信息抓取的效率。
权利要求
1、一种自动优化爬虫的抓取方法,其特征在于包括以下步骤(1)从互联网上抓取的信息页中抽取信息,如果抽取成功,加快再次抓取该信息页的频率;否则减慢再次抓取该信息页的频率;(2)在修改后的频率到时,重复步骤(1)。
2、 根据权利要求l所述的自动优化爬虫的抓取方法,其特征在于步骤(1)进一步包括(11) 抓取检测模块按照频道分类,从互联网上抓取内容与各频道分类相对应的索引列 表页,如果抓取失败,则降低再次抓取这个索引列表页的频率,进入步骤(15);如果抓取成 功,进入步骤(12);(12) 抓取检测模块检测抓取成功的索引列表页同上次抓取时相比是否添加了新的信息, 如果是,进入步骤(13);否则,降低再次抓取这个索引列表页的频率,进入步骤(15);(13) 抓取检测模块下载索引列表页所添加的新的信息所对应的信息页,如果下载成功, 进入步骤(14);否则,降低再次抓取这个索引列表页的频率,进入步骤(15);(14) 抓取检测模块将所述下载成功的信息页发送给抽取模块,抽取模块每成功从该信息页中抽取一条信息,通知抓取检测模块加快一次以后抓取包含该信息的信息页所属的索引 列表页的频率,然后抽取模块将该信息存入与该信息内容的频道分类对应的频道,进入步骤(2);(15) 抓取检测模块根据当前时间对修改后的再次抓取所述索引列表页的频率进行再修正。
3、 根据权利要求2所述的自动优化爬虫的抓取方法,其特征在于步骤(15)具体为如果当前时间为晚上或节假日,将再次抓取这个索引列表页的频率的降低幅度减缓。
4、 根据权利要求3所述的自动优化爬虫的抓取方法,其特征在于在步骤(15)之后还 包括(16) 抓取检测模块再次对步骤(15)修正后的再次抓取这个索引列表页的频率进行修正,所述修正包括根据频道分类特性进行的修正和根据各频道共性进行的专家修正。
全文摘要
本发明公开了一种自动优化爬虫的抓取方法。现有的爬虫抓取网页的方法是用相同的频率去抓取发布高峰期的信息和发布低谷期的信息,影响了所抓取信息的时效性,降低了系统效能,增加了无谓的资源消耗。为解决上述问题,本发明包括以下步骤(1)从互联网上抓取的信息页中抽取信息,如果抽取成功,加快再次抓取该信息页的频率;否则减慢再次抓取该信息页的频率;(2)在修改后的频率到时,重复步骤(1)。本发明适用于现有的各种搜索引擎。
文档编号G06F17/30GK101187925SQ20061014581
公开日2008年5月28日 申请日期2006年11月17日 优先权日2006年11月17日
发明者华 陈 申请人:北京酷讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1