[发明专利]网页抓取方法及爬虫有效
申请号: | 201210056060.6 | 申请日: | 2012-03-05 |
公开(公告)号: | CN103294732A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 邹纲;皮冰锋;张军;钟朝亮;于浩 | 申请(专利权)人: | 富士通株式会社 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 康建峰;陈炜 |
地址: | 日本神*** | 国省代码: | 日本;JP |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网页 抓取 方法 爬虫 | ||
技术领域
本发明一般地涉及网页抓取方法及爬虫(crawler)。具体而言,本发明涉及一种能够对深层网页(DeepWeb)进行抓取的方法和爬虫。
背景技术
近年来,随着互联网的发展,在网络上提供了大量的信息。网络上的网页大体可分为两类:表层网页(Surface Web)和深层网页(Deep Web)。表层网页是指通过超链接可以被传统搜索引擎索引到的页面的集合。深层网页是指网络中不能被传统的搜索引擎索引到的那部分内容,主要包含四种类型:(1)通过填写表单形成对后台在线数据库的查询而得到的动态页面;(2)需要登录才能访问的内容(3)由于缺乏被指向的超链接而没有被搜索引擎索引到的页面;(4)网络上可访问的非网页文件,比如图片文件、PDF和Word文档等。以第一种类型为例,网络(Web)中可访问的在线数据库称为Web数据库或WDB。Web数据库中的内容只有在被查询时才会被Web服务器用来动态生成页面,并将动态页面返回给访问者。因此没有超链接指向这些页面,这与可以被直接访问的静态页面存在根本区别。故难以被传统搜索引擎索引。
然而,深层网页的数量是巨大的。根据2000年的一项研究表明,深层网页中包含了大约7500TB大小,5000亿的文档。因此,这部分资源是非常有价值的。同时,由于难以被传统的搜索引擎索引,所以很难被有效地利用起来。
为了获取深层网页,现在通常的做法是花费很多人力去人工地寻找访问深层网页的方式,或者一些自动或半自动的方法主要处理在没有Javascript的干扰下的隐藏在表单后面的网页(即上面提到的第一种网页)。
但是传统的方法无法应对Javascript的干扰。随着Javascript被广泛的使用,网页的行为被显著地改变了。以表单为例,Javascript的影响在如下几个方面:(1)网页的DOM(Document Object Model,文档对象模型)能被动态地改变,因此表格里面包含的元素有可能被增加和减少;(2)表单的动作(action)能够被动态地赋予;(3)当表单被提交的时候,名称和值对可以被修改;(4)表单甚至可以被动态地生成并且由Javascript提交。可见,Javascript的干扰将导致难以发现正确的URL(Universal Resource Locator,统一资源定位符)和参数。而URL和参数对于深层网页的抓取至关重要。
因此,传统方法难以完全地和高效地采集深层网页,并难以克服Javascript的干扰。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明的目的是针对现有技术的上述问题,提出了一种能够对深层网页(DeepWeb)进行抓取的方法和爬虫。该方案能够完全地和高效地抓取深层网页,并能够克服Javascript的干扰。
为了实现上述目的,根据本发明的一个方面,提供了一种网页抓取方法,包括如下步骤:将种子URL注入到Web数据库中;基于Web数据库生成URL列表;按队列的顺序将URL列表中的URL馈送给网页抓取器;由网页抓取器、按照网页对应的访问模式、根据被馈送的URL来对网页进行抓取;以及基于所抓取的网页,更新Web数据库中URL的状态以及注入新发现的URL;其中,所述访问模式包括请求参数槽、响应参数槽、以及请求参数槽与响应参数槽的对应关系,请求参数槽中包括请求参数、以及请求参数槽与响应参数槽的匹配关系,响应参数槽中包括响应参数、以及关于响应参数在ht tp响应消息中的提取位置的提取位置信息。
根据本发明的一个具体实施例,队列包括普通队列和优先队列,基于会话的网页的URL被存储在优先队列中,以具有较高的优先权。
根据本发明的一个具体实施例,在起始网页的网址满足预定的触发条件时,触发相应的访问模式来进行网页的抓取。
根据本发明的一个具体实施例,所述按照网页对应的访问模式进行抓取包括:根据请求参数槽与响应参数槽的匹配关系,将与其匹配的响应参数槽中的响应参数,填充到请求参数槽中作为请求参数;以及根据对应于同一请求的一个或更多个请求参数槽中的请求参数,生成请求消息并将其加入优先队列,以由网页抓取器优先抓取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于富士通株式会社,未经富士通株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210056060.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:对象信息获取方法及设备
- 下一篇:一种确定网页中的页面元素的方法以及装置