一种基于网络爬虫的Web页面信息采集方法及装置制造方法及图纸

技术编号:20916706 阅读:22 留言:0更新日期:2019-04-20 09:43
本发明专利技术公开了一种基于网络爬虫的Web页面信息采集方法及装置,通过构建网络爬虫模型,根据域名范围中的URL发起http请求获取所有在域名范围中的web页面,遍历DOM树抽取关键信息生成采集规则,按照采集规则对页面信息进行采集,简化了开发人员繁琐的信息录入操作,有效缩短业务人员系统录入时间和录入准确率更低的问题,降低了网页数据采集的计算开销,能够直接跳过大量无关的web页面,支持根据语义信息直接进行web页面的信息采集。

A Web Page Information Collection Method and Device Based on Web Crawler

The invention discloses a web page information acquisition method and device based on Web crawler. By constructing a web crawler model, HTTP requests are initiated according to the URL in the domain name range to obtain all web pages in the domain name range, key information is extracted by traversing DOM tree to generate acquisition rules, page information is collected according to acquisition rules, and the cumbersome information input operation of developers is simplified. As a result, it can effectively shorten the input time and lower accuracy of business personnel system, reduce the computational cost of web page data acquisition, skip a large number of irrelevant web pages directly, and support the information acquisition of web pages directly based on semantic information.

【技术实现步骤摘要】
一种基于网络爬虫的Web页面信息采集方法及装置
本公开涉及数据采集领域,具体涉及一种基于网络爬虫的Web页面信息采集方法及装置。
技术介绍
传统的Web页面文本信息采集通过各种不同性质的web页面往往采集到的结果包含与采集主题大量无关的web页面,Web页面文本信息采集目标是尽可能大的网络覆盖率,而导致有限的搜索引擎资源与无限的Web页面文本信息资源之间的矛盾越来越大了。页面中不同形式的数据形式越来越促使网络信息不断发展,每天都有海量的图像、视频和音频多媒体、文本文档等不同的数据涌现在网络中,而现在的技术往往对处理这些信息含量密集的页面中多源异构的数据无法全面的发现和获取,并且难以支持根据语义信息进行web页面的信息采集。而且在一些基于网络的系统开发过程中,很多数据需要在上重新利用,一方面加大了前台人员的录入工作;另一方面,前期建设的辅助系统数据无法利用,造成很大的资源浪费。
技术实现思路
本公开提供一种基于网络爬虫的Web页面信息采集方法及装置,根据一种网络爬虫模型,通过正则规则对web页面中的关键信息进行抓取。为了实现上述目的,根据本公开的一方面,提供一种基于网络爬虫的Web页面信息采集方法,所述方法包括以下步骤:步骤1,构建网络爬虫模型;步骤2,根据起始URL发起http请求获取web页面;步骤3,网络爬虫模型根据正则匹配规则从web页面中爬取域名范围中的URL;步骤4,根据域名范围中的URL发起http请求获取所有在域名范围中的web页面;步骤5,将获取到的所有web页面解析并生成XML的DOM树;步骤6,遍历DOM树抽取关键信息生成采集规则;步骤7,按照采集规则对页面信息进行采集;步骤8,循环进行步骤2到步骤7直至网络爬虫模型根据正则匹配规则从web页面中爬取完所有域名范围中的URL。进一步地,在步骤1中,所述构建网络爬虫模型的方法包括以下步骤:步骤1.1,创建一个网络爬虫的配置脚本,将起始URL写入配置脚本中;步骤1.2,配置脚本中网络爬虫爬取的域名范围;步骤1.3,构建网络爬虫的队列,队列的元素为存储的URL,即队列用于存储URL;步骤1.4,构建网络爬虫的正则匹配规则,网络爬虫模型的URL的正则表达式形式的正则匹配规则为http:∥(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\*)?,正则匹配规则表示含有http:∥的URL和“/”或“.”符号的URL,网络爬虫将符合正则匹配规则的URL存储到爬取队列。进一步地,在步骤3中,所述网络爬虫模型根据正则匹配规则从web页面信息爬取域名范围中的URL的方法为,从web页面的URL中爬取web页面中的所有URL,从当前的页面中抽取所有的URL放入网络爬虫的队列中,所述URL的表示形式为由http:∥和“/”或“.”符号组成,所述URL通过正则匹配规则,http:∥(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\*)?,抽取当前的页面中的所有的URL。进一步地,在步骤3中,所述域名范围为同一个URL获取到的web页面中所有的URL。进一步地,在步骤5中,所述将获取到的所有web页面解析并生成XML的DOM树的方法为,利用HTMLParser或SGMLParser对web页面的网页源码进行结构解析以获得为树状结构的URL、主题、用户名、内容、时间属性信息,通过树的各个节点之间的逻辑关系遍历访问网页中的每一个节点生成XML形式的DOM树。进一步地,在步骤5中,所述将获取到的所有web页面解析并生成XML的DOM树的方法为,利用HTMLParser或SGMLParser对web页面的网页源码进行结构解析以获得所有的XML形式的DOM树节点元素,所述DOM树节点元素包括URL、主题、用户名、内容、时间属性信息,通过树的各个节点之间的逻辑关系遍历访问网页中的每一个节点生成XML形式的DOM树,DOM树用无向树G(V,E)表示,其中V是DOM树的节点集,E是任意两DOM树节点的逻辑关系,即E是网页中各个URL连接关系,生成一个中间树,首先读取根节点v∈VN的URL为v(r),Bv和nv的值,Bv是指通过弧v所能到达的所有节点集合,然后比较节点VN-{r}的nv值,VN-{r}为去除根节点r的树的节点集,依次将nv值构造序列L,然后再次初始化H(Y,A),选择顶点y代表叶子节点r,并记Cy={r},ny=|N|+1/2,并把与叶子节点连接的|DNr|个叶子节点的弧添加到z集合中,DNr表示叶子节点v∈V的所有URL集合,令叶子节点弧的已知连接节点为y,所述中间树为H(y,A),令DOM树为TN,中间树的每个顶点y∈Y是TN中节点的集合Cy∈VN,弧A是TN中边的集合,每个节点和叶节点用单独定点y∈Y表示,N表示DOM树节点元素的集合,VN,EN是TN中所有DOM树节点与边的集合,EN中的元素称为边集,VN中的元素称为树的节点集,初始化中间树H为空,通过深度优先遍历将DOM树节点v∈VN加入到H中,直到所有VN中的DOM树节点都在中间树H中,中间树H的每个节点y∈Y都代表集合Cy中包含一个或多个子节点v,ny代表DOM树中节点nv值,节点nv值相同即URL属于同一个连接关系,可以通过URL进行连接访问,如果H中某节点y具有多个子节点,则节点v∈Cy具有相同的nv值,H中弧a代表TN中的边,在读取H中的弧过程中,当出现弧的前端连接有节点,另一端叶子节点没有连接节点或没有DOM树节点元素,这种弧称为叶子节点弧,叶子节点弧的集合为z,如果遍历时叶子节点弧具有叶子节点,则将叶子节点弧从集合z中删除,每一弧a∈A都有相应的一个集合Ba相对应,Ba是指通过弧a所能到达的所有节点集合,z按照深度优先遍历从DOM树节点中依次抽取DOM树节点元素,用v′表示,并更新加入到H(Y,A)直到遍历结束,最终H(Y,A)即XML的DOM树,其中,|N|是N包含节点的数量。进一步地,在步骤6中,所述遍历DOM树抽取关键信息生成采集规则的方法为,遍历DOM树抽取关键信息为从DOM树的一个节点中抽取主题、用户名、内容、时间属性的信息,所述关键信息为主题、用户名、内容、时间属性的信息,所述生成的采集规则如下,采集规则的正则表达式表示为,(<主题[^>])([\s\S]*?)(</主题>),(<用户名[^>])([\s\S]*?)(</用户名>),(<内容[^>])([\s\S]*?)(</内容>),(<时间[^>])([\s\S]*?)(</时间>),(?is)(?<=<td>).+?(?=</td>),(?is)模式修饰,i表示忽略大小写,s表示单行模式.能匹配回车换行(?<=<td>),逆序肯定环视,需要匹配的结果以<td>开头,但是<td>匹配,结果中不包含<td>.+?任意字符,每次匹配到符合的(任意字符),即尝试匹配后面的表达式,直到后面的表达式失败,回溯上一次匹配结果,(?=</td>)顺序肯定环视,匹配的结果最后要以&本文档来自技高网...

【技术保护点】
1.一种基于网络爬虫的Web页面信息采集方法,其特征在于,所述方法包括以下步骤:步骤1,构建网络爬虫模型;步骤2,根据起始URL发起http请求获取web页面;步骤3,网络爬虫模型根据正则匹配规则从web页面中爬取域名范围中的URL;步骤4,根据域名范围中的URL发起http请求获取所有在域名范围中的web页面;步骤5,将获取到的所有web页面解析并生成XML的DOM树;步骤6,遍历DOM树抽取关键信息生成采集规则;步骤7,按照采集规则对页面信息进行采集;步骤8,循环进行步骤2到步骤7直至网络爬虫模型根据正则匹配规则从web页面中爬取完所有域名范围中的URL。

【技术特征摘要】
1.一种基于网络爬虫的Web页面信息采集方法,其特征在于,所述方法包括以下步骤:步骤1,构建网络爬虫模型;步骤2,根据起始URL发起http请求获取web页面;步骤3,网络爬虫模型根据正则匹配规则从web页面中爬取域名范围中的URL;步骤4,根据域名范围中的URL发起http请求获取所有在域名范围中的web页面;步骤5,将获取到的所有web页面解析并生成XML的DOM树;步骤6,遍历DOM树抽取关键信息生成采集规则;步骤7,按照采集规则对页面信息进行采集;步骤8,循环进行步骤2到步骤7直至网络爬虫模型根据正则匹配规则从web页面中爬取完所有域名范围中的URL。2.根据权利要求1所述的一种基于网络爬虫的Web页面信息采集方法,其特征在于,在步骤1中,所述构建网络爬虫模型的方法包括以下步骤:步骤1.1,创建一个网络爬虫的配置脚本,将起始URL写入配置脚本中;步骤1.2,配置脚本中网络爬虫爬取的域名范围;步骤1.3,构建网络爬虫的队列,队列的元素为存储的URL,即队列用于存储URL;步骤1.4,构建网络爬虫的正则匹配规则,网络爬虫将符合正则匹配规则的URL存储到爬取队列。3.根据权利要求1所述的一种基于网络爬虫的Web页面信息采集方法,其特征在于,在步骤3中,所述网络爬虫模型根据正则匹配规则从web页面信息爬取域名范围中的URL的方法为,从web页面的URL中爬取web页面中的所有URL,从当前的页面中抽取所有的URL放入网络爬虫的队列中,所述URL通过正则匹配规则,http:∥(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\*)?,抽取当前的页面中的所有的URL。4.根据权利要求1所述的一种基于网络爬虫的Web页面信息采集方法,其特征在于,在步骤3中,所述域名范围为同一个URL获取到的web页面中所有的URL。5.根据权利要求1所述的一种基于网络爬虫的Web页面信息采集方法,其特征在于,在步骤5中,所述将获取到的所有web页面解析并生成XML的DOM树的方法为,利用HTMLParser或SGMLParser对web页面的网页源码进行结构解析以获得为树状结构的URL、主题、用户名、内容、时间属性信息,通过树的各个节点之间的逻辑关系遍历访问网页中的每一个节点生成XML形式的DOM树。6.根据权利要求1所述的一种基于网络爬虫的Web页面信息采集方法,其特征在于,在步骤5中,所述将获取到的所有web页面解析并生成XML的DOM树的方法为,利用HTMLParser或SGMLParser对web页面的网页源码进行结构解析以获得所有的XML形式的DOM树节点元素,所述DOM树节点元素包括URL、主题、用户名、内容、时间属性信息,通过树的各个节点之间的逻辑关系遍历访问网页中的每一个节点生成XML形式的DOM树,DOM树用无向树G(V,E)表示,其中V是DOM树的节点集,E是任意两DOM树节点的逻辑关系,即E是网页中各个URL连接关系,生成一个中间树,首先读取根节点v∈VN的URL为v(r),Bv和nv的值,Bv是指通过弧v所能到达的所有节点集合,然后比较节点VN-{r}的nv值,VN-{r}为去除根节点r的树的节点集,依次将nv值构造序列L,然后再次初始化H(Y,A),选择顶点y代表叶子节点r,并记Cy={r},ny=|N|+1/2,并把与叶子节点连接的|DNr|个叶子节点的弧添加到Z集合中,令叶子节点弧的已知连接节点为y,所述中间树为H(y,A),令DOM树为TN,中间树的每个顶点y∈Y是TN中节点的集合Cy∈VN,弧A是TN中边的集合,每个节点和叶节点用单独定点y∈Y表示,N表示DOM树节点元素的集合,VN,EN是TN中所有DOM树节点与边的集合,EN中的元素称为边集,VN中的元素称为树的节点集,初始化中间树H为空,通过深度优先遍历将DOM树节点v∈VN加入到H中,直到所有VN中的DOM树节点都在中间树H中,中间树H的每个节点y∈Y都代表集合Cy中包含一个或多个子节点v,ny代表DOM树中节点nv值,节点nv值相同即URL属于同一个连接关系,可以通过URL进行连接访问,如果H中...

【专利技术属性】
技术研发人员:高培玉林一华郭茜
申请(专利权)人:佛山市金穗数据服务有限公司
类型:发明
国别省市:广东,44

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1