CN103902684B - 一种爬虫采集内容结构化的方法 - Google Patents

一种爬虫采集内容结构化的方法 Download PDF

Info

Publication number
CN103902684B
CN103902684B CN201410111764.8A CN201410111764A CN103902684B CN 103902684 B CN103902684 B CN 103902684B CN 201410111764 A CN201410111764 A CN 201410111764A CN 103902684 B CN103902684 B CN 103902684B
Authority
CN
China
Prior art keywords
reptile
module
parsing
content
binding modules
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.)
Active
Application number
CN201410111764.8A
Other languages
English (en)
Other versions
CN103902684A (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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410111764.8A priority Critical patent/CN103902684B/zh
Publication of CN103902684A publication Critical patent/CN103902684A/zh
Application granted granted Critical
Publication of CN103902684B publication Critical patent/CN103902684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种爬虫采集内容结构化的方法,适用于爬虫对网页的解析阶段,其适用的体系结构包括:爬虫模块、解析模块和结合模块;其中,爬虫模块实现整个数据采集过程,包含结合模块;解析模块是实现网页解析的独立模块;结合模块用于连接爬虫模块和解析模块。该方法利用结合模块把爬虫模块和专业的网页解析模块结合到了一起,在爬虫进行到解析阶段时,会自动调用解析模块的内容;解析完毕后,会继续爬虫模块的剩余流程,将已经结构化完毕的字段提交给搜索引擎。该方法通过把具有网页解析功能的工具与爬虫结合,实现对用户需要字段的自定义解析、自定义提取,使用灵活,可以有效扩展可结构化的字段,扩大后期搜索分析的范围。

Description

一种爬虫采集内容结构化的方法
技术领域
本发明涉及网络爬虫技术,具体地说是一种爬虫采集内容结构化的方法。
背景技术
网络爬虫又称为网页蜘蛛、络机器人,是一种按照一定的规则自动的抓取网络信息的程序或脚本。基于目标数据模式的爬虫针对的是网页上的数据,所抓取的数据一般要符合一定的模式,或者可以转化或映射为目标数据模式。目前,在整个数据采集和解析的过程中,默认的解析字段内容很少,仅包含标题、内容等几个字段。因为可搜索的内容太过笼统,进行搜索会带来不便,也无法精细化分析。
发明内容
本发明针对现有技术存在的不足之处,提供一种爬虫采集内容结构化的方法,该方法通过把具有网页解析功能的工具与爬虫结合,实现对用户需要字段的自定义解析的。
本发明公共了一种爬虫采集内容结构化的方法,其解决所述技术问题采用的技术方案如下:该方法适用于爬虫对网页的解析阶段,该方法适用的体系结构包括:爬虫模块(1)、解析模块(2)和结合模块(3);其中,
爬虫模块(1)实现整个数据采集过程,包含结合模块(3);
解析模块(2)是实现网页解析的独立模块;
结合模块(3)用于连接爬虫模块和解析模块;
所述爬虫采集内容结构化的方法,针对现有爬虫模块(1)解析阶段进行处理,利用爬虫模块(1)的插件功能,把解析模块(2)的结构化网页功能嵌入到爬虫模块(1)中去,实现对采集内容的自定义结构化;该方法利用结合模块(3)把爬虫模块(1)和专业的网页解析模块(2)结合到了一起,在爬虫进行到解析阶段时,会自动调用解析模块(2)的内容;解析完毕后,会继续爬虫模块(1)的剩余流程,将已经结构化完毕的字段提交给搜索引擎。
进一步,所述爬虫模块(1)指的是爬虫nutch,主要替换其默认解析部分。
进一步,所述解析模块(2)指的是jsoup,关键功能是解析网页,使网页内容结构化。
进一步,所述结合模块(3),其主要功能是如何利用nutch自带机制把爬虫模块(1)和解析模块(2)结合起来。
上述中出现的Nutch、jsoup进行如下解释:Nutch是一个开源Java实现的搜索引擎,它提供了我们运行自己的搜索引擎所需的全部工具。Jsoup是一款Java的HTML解析器,可直接解析某个UFL地址、HTML文本内容,它提供了一套非常省力的API,可通过DOM、CSS以及类似于jQuery的操作方法来取出和操作数据。
本发明公开的爬虫采集内容结构化的方法的有益效果是:本方法适用于对爬虫采集下来的内容进行解析的阶段,通过把具有网页解析功能的工具与爬虫结合,实现对用户需要字段的自定义解析、自定义提取,使用灵活,可以有效扩展可结构化的字段,扩大后期搜索分析的范围。
附图说明
附图1为现有爬虫模块正常流程示意图;
附图2为本发明中爬虫模块(1)和解析模块(2)的结合示意图。
具体实施方式
下面结合附图和实施例,对本发明所公开的爬虫采集内容结构化的方法做进一步详细说明。
本发明所述爬虫采集内容结构化的方法,适用于爬虫对网页的解析阶段,该方法适用的体系结构包括:爬虫模块(1)、解析模块(2)和结合模块(3);其中:
所述爬虫模块(1)实现整个数据采集过程,包含结合模块(3),并且所述爬虫模块(1)指的是爬虫nutch,主要替换其默认解析部分;
所述解析模块(2)是实现网页解析的独立模块,并且所述解析模块(2)指的是jsoup,关键功能是解析网页,使网页内容结构化;
所述结合模块(3)连接爬虫模块和解析模块,并且所述结合模块(3)关键是如何利用nutch自带机制把爬虫模块(1)和解析模块(2)结合起来。
本发明所述爬虫采集内容结构化的方法,是针对现有爬虫模块(1)解析阶段做的处理,利用爬虫模块(1)的插件功能,把解析模块(2)的结构化网页功能嵌入到爬虫模块(1)中去,实现对采集内容的自定义结构化。该方法的创新点在于结合模块(3)实现的内容,结合模块(3)能够把爬虫模块(1)和专业的网页解析模块(2)结合到了一起。在爬虫进行到解析阶段时,会自动调用解析模块(2)的内容。解析完毕后,会继续爬虫模块(1)的剩余流程,这样提交给搜索引擎的,就是已经结构化完毕的字段。
本发明所述爬虫解析内容结构化方法的详细过程说明如下:
(1)需要填加的结合模块(3)是爬虫模块(1)的扩展解析部分HtmlParseFilter;
(2)在HtmlParseFilter内实现爬虫模块(1)的public ParseResult filter;
(3)获取爬虫模块(1)已经采集下来的内容,作为解析模块(2)的输入流;
(4)利用解析模块(2)Jsoup.parse的参数传入采集输入流,获得返回值;
(5)分析已采集到页面的dom结构,利用(4)步骤中获取的返回值精确提取页面所需字段内容;
(6)把提取出的字段内容添加入爬虫模块(1)的数据结构里;
(7)在爬虫模块(1)扩展部分IndexingFilter里对应增加新增的结构化字段内容;
(8)修改爬虫模块(1)配置和相应的搜索引擎配置,加入新增结构化字段的定义;
这样,对再次采集的内容建立索引后,自定义的结构化字段就会在搜索界面上显示出来。
对上述文字中出现的htmlparser、Filter、jsoup和Index解释如下:htmlparser是一个纯的java写的html(标识通用标记语言下的一个应用)解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它能超高速解析html,而且不会出错,htmlparser就是目前最好的html解析和分析的工具。Filter技术是servlet2.3新增加的功能,它使用户可以改变一个request和修改一个response,Filter不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在response离开servlet时处理response;换种说法,Filter其实是一个“servlet chaining”( servlet链);
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据;
jsoup的主要功能如下:
1. 从一个URL,文件或字符串中解析HTML;
2. 使用DOM或CSS选择器来查找、取出数据;
3. 可操作HTML元素、属性、文本;
jsoup是基于MIT协议发布的,可放心使用于商业项目。
Index:返回指定的行与列交叉处的单元格引用,如果引用由不连续的选定区域组成,可以选择某一连续区域。
除本发明所述技术特征外,均为本专业技术人员的已知技术。

Claims (4)

1.一种爬虫采集内容结构化的方法,适用于爬虫对网页的解析阶段,其特征在于,该方法适用的体系结构包括:爬虫模块(1)、解析模块(2)和结合模块(3);其中,
爬虫模块(1)实现整个数据采集过程,包含结合模块(3);
解析模块(2)是实现网页解析的独立模块;
结合模块(3)用于连接爬虫模块和解析模块;
针对现有爬虫模块(1)解析阶段进行处理,利用爬虫模块(1)的插件功能,把解析模块(2)的结构化网页功能嵌入到爬虫模块(1)中去,实现对采集内容的自定义结构化;
利用结合模块(3)把爬虫模块(1)和专业的网页解析模块(2)结合到了一起,在爬虫进行到解析阶段时,会自动调用解析模块(2)的内容;解析完毕后,会继续爬虫模块(1)的剩余流程,将已经结构化完毕的字段提交给搜索引擎;
所述爬虫解析内容结构化方法的详细过程如下:
(1)需要填加的结合模块(3)是爬虫模块(1)的扩展解析部分HtmlParseFilter;
(2)在HtmlParseFilter内实现爬虫模块(1)的public ParseResult filter;
(3)获取爬虫模块(1)已经采集下来的内容,作为解析模块(2)的输入流;
(4)利用解析模块(2)Jsoup.parse的参数传入采集输入流,获得返回值;
(5)分析已采集到页面的dom结构,利用(4)步骤中获取的返回值精确提取页面所需字段内容;
(6)把提取出的字段内容添加入爬虫模块(1)的数据结构里;
(7)在爬虫模块(1)扩展部分IndexingFilter里对应增加新增的结构化字段内容;
(8)修改爬虫模块(1)配置和相应的搜索引擎配置,加入新增结构化字段的定义;对再次采集的内容建立索引后,自定义的结构化字段就会在搜索界面上显示出来。
2.根据权利要求1所述的爬虫采集内容结构化的方法,其特征在于,所述爬虫模块(1)指的是爬虫nutch,主要替换其默认解析部分。
3.根据权利要求2所述的爬虫采集内容结构化的方法,其特征在于,所述解析模块(2)指的是jsoup,关键功能是解析网页,使网页内容结构化。
4.根据权利要求3所述的爬虫采集内容结构化的方法,其特征在于,所述结合模块(3),其主要功能是如何利用nutch自带机制把爬虫模块(1)和解析模块(2)结合起来。
CN201410111764.8A 2014-03-25 2014-03-25 一种爬虫采集内容结构化的方法 Active CN103902684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410111764.8A CN103902684B (zh) 2014-03-25 2014-03-25 一种爬虫采集内容结构化的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410111764.8A CN103902684B (zh) 2014-03-25 2014-03-25 一种爬虫采集内容结构化的方法

Publications (2)

Publication Number Publication Date
CN103902684A CN103902684A (zh) 2014-07-02
CN103902684B true CN103902684B (zh) 2018-02-23

Family

ID=50994006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410111764.8A Active CN103902684B (zh) 2014-03-25 2014-03-25 一种爬虫采集内容结构化的方法

Country Status (1)

Country Link
CN (1) CN103902684B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202348A (zh) * 2016-07-04 2016-12-07 中山大学 一种网页表格信息抽取方法
CN108536691A (zh) * 2017-03-01 2018-09-14 中兴通讯股份有限公司 网页爬取方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520796A (zh) * 2009-02-16 2009-09-02 深圳市腾讯计算机系统有限公司 从网页内容中提取统一资源定位符的方法及系统
CN102880607A (zh) * 2011-07-15 2013-01-16 舆情(香港)有限公司 网络动态内容抓取方法及网络动态内容爬虫系统
CN102968495A (zh) * 2012-11-29 2013-03-13 河海大学 搜索对比关联购物信息的垂直搜索引擎及方法
CN103605764A (zh) * 2013-11-26 2014-02-26 Tcl集团股份有限公司 一种网络爬虫系统及网络爬虫多任务执行和调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520796A (zh) * 2009-02-16 2009-09-02 深圳市腾讯计算机系统有限公司 从网页内容中提取统一资源定位符的方法及系统
CN102880607A (zh) * 2011-07-15 2013-01-16 舆情(香港)有限公司 网络动态内容抓取方法及网络动态内容爬虫系统
CN102968495A (zh) * 2012-11-29 2013-03-13 河海大学 搜索对比关联购物信息的垂直搜索引擎及方法
CN103605764A (zh) * 2013-11-26 2014-02-26 Tcl集团股份有限公司 一种网络爬虫系统及网络爬虫多任务执行和调度方法

Also Published As

Publication number Publication date
CN103902684A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
CN101197849A (zh) 将互联网页面转换为无线应用协议页面的转换方法和装置
CN102253979B (zh) 基于视觉的web页面萃取方法
CN101908071B (zh) 一种提高搜索引擎搜索效率的方法及其系统
US8196036B2 (en) Method and system for converting hypertext markup language web page to plain text
CN102156737B (zh) 一种中文网页主题内容的提取方法
CN104598577B (zh) 一种网页正文的提取方法
CN101609399B (zh) 基于建模的智能化网站开发系统及方法
CN101290624B (zh) 一种新闻网页元数据自动抽取方法
CN101520798A (zh) 基于垂直搜索和聚焦爬虫的网页分类技术
WO2011017929A1 (zh) 手机浏览器快速定位有效信息的方法与装置
CN102254027A (zh) 批量获取网页内容的方法
CN103699591A (zh) 一种基于示例页面的网页正文提取方法
CN103885764A (zh) 网络媒介信息展示系统、方法、装置和服务器
CN101872350A (zh) 网页正文抽取方法和装置
CN105302876A (zh) 基于正则表达式的url过滤方法
CN103984749A (zh) 一种基于链接分析的聚焦爬虫方法
CN106933973A (zh) 一种可视化网络爬虫方法
CN106294885A (zh) 一种面向异构网页的数据收集与标注方法
CN103902684B (zh) 一种爬虫采集内容结构化的方法
CN101895517B (zh) 一种脚本语义提取方法和提取装置
CN105335516A (zh) 一种通用采集系统的构建方法
CN100543741C (zh) 自动下载和过滤网页的系统及方法
JP4460620B2 (ja) 情報サービス提供方法およびサーバ
CN103605675A (zh) 一种xml路径表达式提取方法及装置
CN109815387B (zh) 一种基于脚本的网页采集服务方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant