CN104794193A - 一种有效链接获取的网页增量抓取方法 - Google Patents

一种有效链接获取的网页增量抓取方法 Download PDF

Info

Publication number
CN104794193A
CN104794193A CN201510185493.5A CN201510185493A CN104794193A CN 104794193 A CN104794193 A CN 104794193A CN 201510185493 A CN201510185493 A CN 201510185493A CN 104794193 A CN104794193 A CN 104794193A
Authority
CN
China
Prior art keywords
link
url
webpage
perform
paging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510185493.5A
Other languages
English (en)
Other versions
CN104794193B (zh
Inventor
张雷
刘有力
资帅
韩军华
冯瀚洋
谢俊元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201510185493.5A priority Critical patent/CN104794193B/zh
Publication of CN104794193A publication Critical patent/CN104794193A/zh
Application granted granted Critical
Publication of CN104794193B publication Critical patent/CN104794193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

有效链接获取的网页增量抓取方法,包括如下步骤:1)有效链接获取阶段:a.初始化抓取网页链接,指定抓取入口URL;b.判断入口网页链接是否具有分页;c.计算入口网页与其分页的公共链接;d.通过公共链接获取有效链接;e.结束;2)增量抓取阶段:a.构建布隆过滤器,并通过布隆过滤器判断步骤1)-d中有效网页链接是否已经抓取;b.通过HTTP请求抓取未抓取的网页;c.结束;本发明采用过滤无效链接获取有效的网页链接,并构建布隆过滤器维持已抓取链接集合,通过随机哈希判断网页是否抓取实现增量抓取。通过过滤无效链接,避免无效网页的抓取。

Description

一种有效链接获取的网页增量抓取方法
技术领域:
本发明涉及一种基于无效链接过滤的有效网页链接获取方法,以及对获取的有效网页链接增量抓取的技术。
背景技术:
互联网技术的高速发展以及智能移动终端的迅速普及,使得信息呈现爆炸式的增长,也给快速、高效的从互联网中抓取所需信息带来新的挑战。
传统网页信息抓取通常采用深度或广度遍历的抓取方式,从指定的网页链接开始逐层信息抓取,并提取每层中的URL链接作为下一层抓取的起始链接。由于网页中链接并非都指向有用的信息,如网页中的菜单、广告、页脚等,如果不能有效的过滤无效链接将抓取大量的无效信息,降低网页抓取的准确性和效率。同时,无效链接间的相互指向将导致抓取过程陷于无限循环。
由于互联网中信息更新速度快,网页信息需要定时重新抓取。在重新抓取过程中需要快速判断链接是否已经抓取,避免重复网页信息抓取。网页URL具有唯一性,在抓取过程中维持一个已抓取网页URL集合,重新抓取时判断待抓取网页URL是否在该集合中便可判断该网页信息是否已经抓取。随着抓取数量增大,判断URL是否在已抓取URL集合将严重影响效率。
本发明实现了一种网页中无效链接过滤来获取网页中有效链接集合,并通过将网页URL随机哈希到布隆过滤器位图集合中来实现已抓取网页URL快速、高效的判断,从而增量抓取网页信息。
发明内容:
本发明要解决的技术问题是,实现网页中有效链接获取,并同过布隆过滤器维持已抓取链接集合,以高效、实时的增量抓取网页信息。
针对上述技术问题,本发明的技术方案是,有效链接获取的网页增量抓取方法,包括如下步骤:
1)有效链接获取阶段:
a初始化抓取网页链接,指定抓取入口URL;
b判断入口网页链接是否具有分页;
c计算入口网页与其分页的公共链接;
d通过公共链接获取有效链接;
e结束。
2)增量抓取阶段:
a构建布隆过滤器,并通过布隆过滤器判断步骤1)-d中有效网页链接是否已经抓取;
b通过HTTP请求抓取未抓取的网页;
c结束。
步骤1)-a中抓入口URL是指抓取程序以此URL开始逐层抓取。
步骤1)-b中分页是指在网页中由于信息太多采用分页形式显示,每一页显示一部分信息。分页的具体判断方法如下:
1)获取入口URL页面中所有的链接,保存集合PageAllUrl中;
2)通过匹配PageAllUrl中每个URL链接文本中是否为“下一页”或“下页”等分页标志来判断是否有分页。
步骤1)-c中公共链接是指入口URL页面与其分页网页中相同的URL,其具体计算方法如下:
1)获取入口URL分页网页中所有的链接,保存集合NextPageAllUrl中;
2)比较集合PageAllUrl和集合NextPageAllUrl,找出它们相同的URL并保存在集合CommonUrl中,即公共链接集合CommonUrl=PageAllUrl∩NextPageAllUrl。
步骤1)-d中有效链接是指非菜单、导航、广告等无效链接,其具体方法如下:
1)在步骤1)-b中判断入口URL是否具有分页,如有执行2),否则执行3);
2)从集合PageAllUrl中链接去掉集合CommonUrl中链接,并将结果保存在集合EffectiveUrl中,即有效链接集合EffectiveUrl=PageAllUrl-CommonUrl;
3)分析入口URL链接,获取其主机域名HostUrl;
4)判断集合PageAllUrl是否为空,如果不为空则执行5),否则执行8);
5)从集合PageAllUrl中取出一个Url;
6)判断Url是否是入口URL的前缀,如果是则执行7),否则执行4);
7)将Url加入有效链接集合EffectiveUrl中,执行4);
8)结束。
步骤2)-a和2)-b中构建布隆过滤器是指设定布隆过滤器的大小、误判率以及随机哈希函数。本发明设置其大小为90000000,误判率为0.000001,随机哈希函数为MD5Hash。其判断方法具体如下:
1)初始化布隆过滤器BloomFilter;
2)判断集合EffectiveUrl是否为空,如果不为空则执行3),否则执行7);
3)从集合EffectiveUrl中取出一个Url;
4)判断Url是否在BloomFilter中,如果在则执行2),否则执行5);
5)通过HTTP请求抓取Url链接的网页信息;
6)将Url保存到BloomFilter中,执行2);
7)结束。
本发明的有益效果:本发明有效链接获取的网页增量抓取方法,采用过滤无效链接获取有效的网页链接,并构建布隆过滤器维持已抓取链接集合,通过随机哈希判断网页是否抓取实现增量抓取。本发明通过过滤无效链接,避免无效网页的抓取,提高抓取效率的同时也增加抓取信息的准备率。此外,本发明采用增量抓取策略不但避免重复抓取,而且大幅提高网页抓取频率。
附图说明:
图1为本发明的流程图。
图2为有效链接获取阶段的流程图。
图3为增量抓取阶段的结构图。
具体实施方式:
为了更好的了解本发明的技术内容,下面结合附图对本发明进行详细说明。
图1是本发明实施例的用于有效链接获取的增量网页抓取方法的流程图,其包括两个阶段:有效链接获取阶段和增量抓取阶段。
步骤0为本发明的起始状态;
在有效链接获取阶段(步骤1-4),步骤1是初始化抓取入口URL链接,抓取程序从此逐层抓取;
步骤2通过匹配中入口URL网页中每个URL链接文本中是否为“下一页”或“下页”等分页标志判断其是否有分页;
步骤3通过比较入口URL网页中链接和其分页网页中链接,找出其公共链接;
步骤4将入口URL网页以及其分页网页中链接去掉步骤3中获取的公共链接,获取有效链接。
在增量抓取阶段(步骤5、6),步骤5使用布隆过滤器维持已抓取链接集合,并通过随机哈希快速判断链接所指向网页是否已抓取;
步骤6通过HTTP请求抓取未抓取的网页;
步骤7为本发明的结束步骤。
图2是对图1中有效链接获取阶段的具体描述:
步骤10为起始步骤;
步骤11初始化网页链接URL。
步骤12获取入口URL页面中所有的链接,保存集合PageAllUrl中;
步骤20通过匹配PageAllUrl中每个URL链接文本中是否为“下一页”或“下页”等分页标志判断是否具有分页。如果匹配成功执行步骤30,否则执行步骤41;
步骤30为获取分页网页中所有的链接,保存集合NextPageAllUrl中;
步骤31为获取公共链接,方法为比较集合PageAllUrl和集合NextPageAllUrl,找出它们相同的URL并保存在集合CommonUrl中,即公共链接集合CommonUrl=PageAllUrl∩NextPageAllUrl;
步骤40为获取有效链接,方法为从集合PageAllUrl中链接去掉集合CommonUrl中链接,并将结果保存在集合EffectiveUrl中,即有效链接集合EffectiveUrl=PageAllUrl-CommonUrl;
步骤41分析入口URL链接,获取其主机域名HostUrl;
步骤42判断集合PageAllUrl是否为空,如果不为空则执行步骤43,否则执行步骤46;
步骤43从集合PageAllUrl中取出一个Url;
步骤44判断Url是否是入口URL的前缀,如果是则执行步骤42,否则执行步骤45;
步骤45将Url加入有效链接集合EffectiveUrl中,执行步骤42;
步骤46为结束步骤。
图3是图1中增量抓取阶段的具体描述:
步骤50为起始步骤;
步骤51构建并初始化布隆过滤器,其中布隆过滤器的大小设置为90000000,误判率设置为0.000001,随机哈希函数设置为MD5Hash;
步骤52判断集合EffectiveUrl是否为空,非空则执行步骤53,否则执行步骤62;
步骤53从集合EffectiveUrl中取出一个Url;
步骤54判断Url是否在BloomFilter中,如果在则执行步骤52,否则执行步骤60;
步骤60通过HTTP请求抓取Url链接的网页信息;
步骤61将Url保存到BloomFilter中,执行步骤52;
步骤62为结束步骤。
综上所述,本发明采用无效链接过滤方式获取有效的网页链接,并采用布隆过滤器维持已抓取链接集合,通过链接哈希判断网页是否抓取实现增量抓取。本发明过滤无效链接,避免无效网页的抓取,提高抓取效率的同时也增加抓取信息的准备率。本发明采用增量抓取策略不但避免重复抓取,而且大幅提高网页抓取频率。
本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

Claims (2)

1.有效链接获取的网页增量抓取方法,其特征是包括如下步骤:
1)有效链接获取阶段:
a初始化抓取网页链接,指定抓取入口URL;
b判断入口网页链接是否具有分页;
c计算入口网页与其分页的公共链接;
d通过公共链接获取有效链接;
e结束;
2)增量抓取阶段:
a构建布隆过滤器,并通过布隆过滤器判断步骤1)-d中有效网页链接是否已经抓取;
b通过HTTP请求抓取未抓取的网页;
c结束;
步骤1)-a中抓取入口URL是指抓取程序以此URL开始逐层抓取;
步骤1)-b中分页是指在网页中由于信息太多采用分页形式显示,每一页显示一部分信息;分页的具体判断方法如下:
   1)获取入口URL页面中所有的链接,保存集合PageAllUrl中;
   2)通过匹配PageAllUrl中每个URL链接文本中是否为“下一页”或“下页”等分页标志来判断是否有分页;
步骤1)-c中公共链接是指入口URL页面与其分页网页中相同的URL,其具体计算方法如下:
   1)获取入口URL分页网页中所有的链接,保存集合NextPageAllUrl中;
   2)比较集合PageAllUrl和集合NextPageAllUrl,找出它们相同的URL并保存在集合CommonUrl中,即公共链接集合CommonUrl=PageAllUrlNextPageAllUrl;
步骤1)-d中有效链接是指非菜单、导航、广告等无效链接,其具体方法如下:
1)在步骤1)-b中判断入口URL是否具有分页,如有执行2),否则执行3);
2)从集合PageAllUrl中链接去掉集合CommonUrl中链接,并将结果保存在集合EffectiveUrl中,即有效链接集合EffectiveUrl=PageAllUrl-CommonUrl
3)分析入口URL链接,获取其主机域名HostUrl;
4)判断集合PageAllUrl是否为空,如果不为空则执行5),否则执行8);
5)从集合PageAllUrl中取出一个Url
6)判断Url是否是入口URL的前缀,如果是则执行7),否则执行4);
7)将Url加入有效链接集合EffectiveUrl中,执行4);
8)结束。
2.根据权利要求1所述的有效链接获取的网页增量抓取方法,其特征是
步骤2)-a和2)-b中构建布隆过滤器是指设定布隆过滤器的大小、误判率以及随机哈希函数:设置布隆过滤器大小为90000000,误判率为0.000001,随机哈希函数为MD5Hash;
其判断方法具体如下:
1)初始化布隆过滤器BloomFilter;
2)判断集合EffectiveUrl是否为空,如果不为空则执行3),否则执行7);
3)从集合EffectiveUrl中取出一个Url
4)判断Url是否在BloomFilter中,如果在则执行2),否则执行5);
5)通过HTTP请求抓取Url链接的网页信息;
6)将Url保存到BloomFilter中,执行2);
7)结束。
CN201510185493.5A 2015-04-17 2015-04-17 一种有效链接获取的网页增量抓取方法 Active CN104794193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510185493.5A CN104794193B (zh) 2015-04-17 2015-04-17 一种有效链接获取的网页增量抓取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510185493.5A CN104794193B (zh) 2015-04-17 2015-04-17 一种有效链接获取的网页增量抓取方法

Publications (2)

Publication Number Publication Date
CN104794193A true CN104794193A (zh) 2015-07-22
CN104794193B CN104794193B (zh) 2018-04-03

Family

ID=53558985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510185493.5A Active CN104794193B (zh) 2015-04-17 2015-04-17 一种有效链接获取的网页增量抓取方法

Country Status (1)

Country Link
CN (1) CN104794193B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320740A (zh) * 2015-09-22 2016-02-10 清华大学 微信文章以及公众号的获取方法及获取系统
CN105430002A (zh) * 2015-12-18 2016-03-23 北京奇虎科技有限公司 漏洞检测方法及装置
CN105630673A (zh) * 2015-12-17 2016-06-01 北京锐安科技有限公司 一种网络爬虫率的自动化测试方法及装置
CN105653627A (zh) * 2015-12-28 2016-06-08 湖南蚁坊软件有限公司 一种基于布隆过滤器的数据分类方法
CN106874299A (zh) * 2015-12-14 2017-06-20 北京国双科技有限公司 网页检测方法和装置
CN106874165A (zh) * 2015-12-14 2017-06-20 北京国双科技有限公司 网页检测方法和装置
CN106874298A (zh) * 2015-12-14 2017-06-20 北京国双科技有限公司 网页检测方法和装置
CN106970930A (zh) * 2016-10-10 2017-07-21 阿里巴巴集团控股有限公司 消息发送确定方法及装置、数据表创建方法及装置
CN108228614A (zh) * 2016-12-14 2018-06-29 北京国双科技有限公司 检测网页断链的方法及装置
CN108400884A (zh) * 2018-01-10 2018-08-14 链家网(北京)科技有限公司 一种提高网站服务稳定性的方法、系统及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008011448A (ja) * 2006-06-30 2008-01-17 Ntt Docomo Inc アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム
CN101227318A (zh) * 2007-12-04 2008-07-23 东南大学 高速网络流量的超点实时检测方法
CN103646078A (zh) * 2013-12-11 2014-03-19 北京启明星辰信息安全技术有限公司 一种实现互联网宣传监测目标评估的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008011448A (ja) * 2006-06-30 2008-01-17 Ntt Docomo Inc アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム
CN101227318A (zh) * 2007-12-04 2008-07-23 东南大学 高速网络流量的超点实时检测方法
CN103646078A (zh) * 2013-12-11 2014-03-19 北京启明星辰信息安全技术有限公司 一种实现互联网宣传监测目标评估的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭邦财: ""蜜蜂群并行网页抓取系统"", 《软件导刊》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320740B (zh) * 2015-09-22 2018-10-16 清华大学 微信文章以及公众号的获取方法及获取系统
CN105320740A (zh) * 2015-09-22 2016-02-10 清华大学 微信文章以及公众号的获取方法及获取系统
CN106874165B (zh) * 2015-12-14 2020-08-11 北京国双科技有限公司 网页检测方法和装置
CN106874299A (zh) * 2015-12-14 2017-06-20 北京国双科技有限公司 网页检测方法和装置
CN106874165A (zh) * 2015-12-14 2017-06-20 北京国双科技有限公司 网页检测方法和装置
CN106874298A (zh) * 2015-12-14 2017-06-20 北京国双科技有限公司 网页检测方法和装置
CN105630673A (zh) * 2015-12-17 2016-06-01 北京锐安科技有限公司 一种网络爬虫率的自动化测试方法及装置
CN105630673B (zh) * 2015-12-17 2018-12-25 北京锐安科技有限公司 一种网络爬虫率的自动化测试方法及装置
CN105430002A (zh) * 2015-12-18 2016-03-23 北京奇虎科技有限公司 漏洞检测方法及装置
CN105653627A (zh) * 2015-12-28 2016-06-08 湖南蚁坊软件有限公司 一种基于布隆过滤器的数据分类方法
CN106970930A (zh) * 2016-10-10 2017-07-21 阿里巴巴集团控股有限公司 消息发送确定方法及装置、数据表创建方法及装置
CN106970930B (zh) * 2016-10-10 2021-01-05 创新先进技术有限公司 消息发送确定方法及装置、数据表创建方法及装置
CN108228614A (zh) * 2016-12-14 2018-06-29 北京国双科技有限公司 检测网页断链的方法及装置
CN108228614B (zh) * 2016-12-14 2022-03-18 北京国双科技有限公司 检测网页断链的方法及装置
CN108400884A (zh) * 2018-01-10 2018-08-14 链家网(北京)科技有限公司 一种提高网站服务稳定性的方法、系统及装置
CN108400884B (zh) * 2018-01-10 2021-08-03 贝壳找房(北京)科技有限公司 一种提高网站服务稳定性的方法、系统及装置

Also Published As

Publication number Publication date
CN104794193B (zh) 2018-04-03

Similar Documents

Publication Publication Date Title
CN104794193A (zh) 一种有效链接获取的网页增量抓取方法
EA201891263A1 (ru) Автоматическое устройство для уборки и способ уборки
CN103927400A (zh) Web网站产品详细信息的分类抓取及产品信息库建立方法
CN102542061B (zh) 一种产品的智能分类方法
CN107404486B (zh) 解析Http数据的方法、装置、终端设备及存储介质
CN102799814A (zh) 一种钓鱼网站查找系统及方法
CN108959539B (zh) 一种基于规则可配置的网页数据解析方法
CN101441629A (zh) 一种非结构化网页信息的自动采集方法
CN104850636A (zh) 移动终端上动植物识别方法及系统
CN102930262A (zh) 一种从图像中提取文字行的方法及装置
CN103955517B (zh) 将文档型数据库的数据转换至关系型数据库的方法及系统
CN103957154A (zh) 网络数据包url过滤方法
CN103744944A (zh) 网络爬虫在抓取网页或数据时再过滤的方法
CN105426407A (zh) 一种基于内容分析的web数据采集方法
CN106971133A (zh) 一种提高图像识别精度装置及方法
CN204347567U (zh) 一种智能采集农业生产数据的智能传感器
CN103117887B (zh) 网络流量变化的可视化方法和设备
CN102769607A (zh) 一种基于网络数据包检测恶意代码的方法和系统
GB2402294B (en) Data collection in a computer network
CN105653207B (zh) 一种闪存接口信息的实时解析方法和系统
CN103970766A (zh) 一种数据文件处理的方法、装置及终端
CN1773523A (zh) 带摄像头的便携式信息终端机的文字识别及声音输出的装置和方法
CN205827372U (zh) 一种数据库敏感信息过滤装置
CN110418195A (zh) 一种基于最佳裁剪的实时视频缩略方法
CN105389310A (zh) 网络爬虫在户籍管理上的应用方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant