一种基于搜索引擎的网络爬虫的实现方法

文档序号:6486431阅读:502来源:国知局
一种基于搜索引擎的网络爬虫的实现方法
【专利摘要】本发明提出了一种基于搜索引擎的网络爬虫的实现方法,其中,包括socket功能模块、http功能模块、正则表达式功能模块、深度搜索功能模块、广度搜索功能模块。为克服传统网络爬虫技术的采用固定搜索策略,缺乏适应性的缺点,本发明提出的方法可满足客户多种需求、实现实时更新数据的爬虫技术。
【专利说明】一种基于搜索引擎的网络爬虫的实现方法
【技术领域】
[0001]本发明涉及一种信息搜集技术,尤其涉及一种基于搜索引擎的网络爬虫的实现方法。
【背景技术】
[0002]随着互联网的发展壮大,人们获取信息的途径逐渐被网络所替代。互联网发展初期,人们主要通过浏览门户网站的方式获取所需信息,但是随着Web的急剧发展,用这种方式寻找自己所需信息变得越来越困难。目前,人们大多通过搜索引擎获取有用信息,因此,搜索引擎技术的发展将直接影响人们获取所需信息的速度和质量。
[0003]1994年,世界上第一个网络检索工具Web Crawler问世,目前较流行的搜索引擎有百度、Google、Yahoo、Info seek、Inktom1、Teoma、Live Search 等。出于商业机密的考虑,现在各个搜索引擎使用的Crawler系统的技术内幕一般都不公开,现有的文献资料也仅限于概要性介绍。随着网络信息资源呈指数级增长及网络信息资源动态变化,传统的搜索引擎提供的信息检索服务已无法满足人们日益增长的对个性化服务的需求,正面临着巨大的挑战。
[0004]传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。此外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索。

【发明内容】

[0005]为克服传统网络爬虫技术的采用固定搜索策略,缺乏适应性的缺点,本发明提出的方法可满足客户多种需求、实现实时更新数据的爬虫技术。
[0006]本发明公开的方法由五个模块组成,分别是socket功能模块、http功能模块、正则表达式功能模块、深度搜索功能模块、广度搜索功能模块。
[0007]所述Socket功能模块,是网络爬虫依赖的背景知识,存在于知识管理系统的结构中,客户通过socket套接字与服务端建立起连接;
[0008]所述http功能模块,客户端必须定义一组URL来确定要浏览的地址,当客户机与服务器建立连接后,发送一个请求给服务器如果服务器接到请求后,给予相应的响应信息,这样就可以将网页上代码提取出来;
[0009]所述正则表达式功能模块,正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。客户端接收到服务端网页上代码后,正则表达式作为一个模板,将URL字符模式与所搜索的字符串进行匹配,然后将相应的URL提取出来;
[0010]所述深度搜索功能模块,本发明方法开始时对网页上的所有URL均未曾访问过。通过正则表达式在网页提取出来的第一个URL为初始出发点S,并将其标记为已访问过;然后依次从S出发搜索S相连接的网页的链接地址W。若W未曾访问过,则以W为新的出发点继续进行深度优先遍历,直至满足用户的需求。若此时仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至在满足用户需求的前提下将网页中所有顶点均已被访问为止。
[0011]所述广度搜索功能模块,本发明开始时对网页上的所有URL均未曾访问过。爬虫从初始页面PO的URL开始,通过正则表达式检索页面PO并抽取页面中的所有URL,将它们添加到URL队列中。然后,爬虫按某种次序从队列中获得URL,重复上述过程,直到满足客户端的要求。
【专利附图】

【附图说明】
[0012]附图主要是用于提供对本发明进一步的理解。附图示出了本发明的实施例,并与本说明书一起起到解释本发明原理的作用。附图中:
[0013]图1示意性地示出了本发明的流程图。
【具体实施方式】
[0014]以下结合附图详细描述本发明的技术方案。
[0015]在图1所示的实施例中,
[0016]本发明公开的方法由五个模块组成,分别是socket功能模块(I)、http功能模块(2 )、正则表达式功能模块(3 )、深度搜索功能模块(4 )、广度搜索功能模块(5 )。
[0017]所述Socket功能模块(I),是网络爬虫依赖的背景知识,存在于知识管理系统的结构中,客户通过socket套接字与服务端建立起连接;
[0018]所述http功能模块(2),客户端必须定义一组URL来确定要浏览的地址,当客户机与服务器建立连接后,发送一个请求给服务器如果服务器接到请求后,给予相应的响应信息,这样就可以将网页上代码提取出来;
[0019]所述正则表达式功能模块(3),正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。客户端接收到服务端网页上代码后,正则表达式作为一个模板,将URL字符模式与所搜索的字符串进行匹配,然后将相应的URL提取出来;
[0020]所述深度搜索功能模块(4),本发明方法开始时对网页上的所有URL均未曾访问过。通过正则表达式在网页提取出来的第一个URL为初始出发点S,并将其标记为已访问过;然后依次从S出发搜索S相连接的网页的链接地址W。若W未曾访问过,则以W为新的出发点继续进行深度优先遍历,直至满足用户的需求。若此时仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至在满足用户需求的前提下将网页中所有顶点均已被访问为止。
[0021]所述广度搜索功能模块(5),本发明开始时对网页上的所有URL均未曾访问过。爬虫从初始页面PO的URL开始,通过正则表达式检索页面pO并抽取页面中的所有URL,将它们添加到URL队列中。然后,爬虫按某种次序从队列中获得URL,重复上述过程,直到满足客户端的要求。
[0022]在一些实施例中,采用广度优先搜索从网页中某个链接出发,访问该链接网页上的所有链接,访问完成后,再通过递归算法实现下一层的访问。
[0023]上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
【权利要求】
1.一种基于搜索引擎的网络爬虫的实现方法,其特征在于,包括: socket功能模块, http功能模块, 正则表达式功能模块, 深度搜索功能模块, 广度搜索功能模块。
2.如权利要求1所述的一种基于搜索引擎的网络爬虫的实现方法,其特征在于: 所述Socket功能模块,是网络爬虫依赖的背景知识,存在于知识管理系统的结构中,客户通过socket套接字与服务端建立起连接。
3.如权利要求1所述的一种基于搜索引擎的网络爬虫的实现方法,其特征在于: 所述http功能模块,客户端必须定义一组URL来确定要浏览的地址,当客户机与服务器建立连接后,发送一个请求给服务器如果服务器接到请求后,给予相应的响应信息,这样就可以将网页上代码提取出来。
4.如权利要求1所述的一种基于搜索引擎的网络爬虫的实现方法,其特征在于: 所述正则表达式功能模块,正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。客户端接收到服务端网页上代码后,正则表达式作为一个模板,将URL字符模式与所搜索的字符串进行匹配,然后将相应的URL提取出来。
5.如权利要求1所述的一种基于搜索引擎的网络爬虫的实现方法,其特征在于: 所述深度搜索功能模块,本发明方法开始时对网页上的所有URL均未曾访问过。通过正则表达式在网页提取出来的第一个URL为初始出发点S,并将其标记为已访问过;然后依次从S出发搜索S相连接的网页的链接地址W。若W未曾访问过,则以W为新的出发点继续进行深度优先遍历,直至满足用户的需求。若此时仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至在满足用户需求的前提下将网页中所有顶点均已被访问为止。
6.如权利要求1所述的一种基于搜索引擎的网络爬虫的实现方法,其特征在于: 所述广度搜索功能模块,本发明开始时对网页上的所有URL均未曾访问过。爬虫从初始页面PO的URL开始,通过正则表达式检索页面pO并抽取页面中的所有URL,将它们添加到URL队列中。然后,爬虫按某种次序从队列中获得URL,重复上述过程,直到满足客户端的要求。
【文档编号】G06F17/30GK103514189SQ201210211633
【公开日】2014年1月15日 申请日期:2012年6月25日 优先权日:2012年6月25日
【发明者】蒋志勇 申请人:上海博腾信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1