CN104794193A - 一种有效链接获取的网页增量抓取方法 - Google Patents
一种有效链接获取的网页增量抓取方法 Download PDFInfo
- 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
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=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.根据权利要求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)结束。
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)
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)
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 | 北京启明星辰信息安全技术有限公司 | 一种实现互联网宣传监测目标评估的方法及装置 |
-
2015
- 2015-04-17 CN CN201510185493.5A patent/CN104794193B/zh active Active
Patent Citations (3)
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)
Title |
---|
郭邦财: ""蜜蜂群并行网页抓取系统"", 《软件导刊》 * |
Cited By (16)
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 |