CN103902684A - 一种爬虫采集内容结构化的方法 - Google Patents
一种爬虫采集内容结构化的方法 Download PDFInfo
- Publication number
- CN103902684A CN103902684A CN201410111764.8A CN201410111764A CN103902684A CN 103902684 A CN103902684 A CN 103902684A CN 201410111764 A CN201410111764 A CN 201410111764A CN 103902684 A CN103902684 A CN 103902684A
- Authority
- CN
- China
- Prior art keywords
- module
- crawler
- analysis
- content
- webpage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000008569 process Effects 0.000 claims abstract description 12
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 11
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation 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 (5)
1.一种爬虫采集内容结构化的方法,适用于爬虫对网页的解析阶段,其特征在于,该方法适用的体系结构包括:爬虫模块(1)、解析模块(2)和结合模块(3);其中,
爬虫模块(1)实现整个数据采集过程,包含结合模块(3);
解析模块(2)是实现网页解析的独立模块;
结合模块(3)用于连接爬虫模块和解析模块;
所述爬虫采集内容结构化的方法,针对现有爬虫模块(1)解析阶段进行处理,利用爬虫模块(1)的插件功能,把解析模块(2)的结构化网页功能嵌入到爬虫模块(1)中去,实现对采集内容的自定义结构化;该方法利用结合模块(3)把爬虫模块(1)和专业的网页解析模块(2)结合到了一起,在爬虫进行到解析阶段时,会自动调用解析模块(2)的内容;解析完毕后,会继续爬虫模块(1)的剩余流程,将已经结构化完毕的字段提交给搜索引擎。
2.根据权利要求1所述的爬虫采集内容结构化的方法,其特征在于,所述爬虫模块(1)指的是爬虫nutch,主要替换其默认解析部分。
3.根据权利要求2所述的爬虫采集内容结构化的方法,其特征在于,所述解析模块(2)指的是jsoup,关键功能是解析网页,使网页内容结构化。
4.根据权利要求3所述的爬虫采集内容结构化的方法,其特征在于,所述结合模块(3),其主要功能是如何利用nutch自带机制把爬虫模块(1)和解析模块(2)结合起来。
5.根据权利要求4所述的爬虫采集内容结构化的方法,其特征在于,所述爬虫解析内容结构化方法的详细过程如下:
(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)配置和相应的搜索引擎配置,加入新增结构化字段的定义;对再次采集的内容建立索引后,自定义的结构化字段就会在搜索界面上显示出来。
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 true CN103902684A (zh) | 2014-07-02 |
CN103902684B 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) |
Cited By (2)
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)
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集团股份有限公司 | 一种网络爬虫系统及网络爬虫多任务执行和调度方法 |
-
2014
- 2014-03-25 CN CN201410111764.8A patent/CN103902684B/zh active Active
Patent Citations (4)
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集团股份有限公司 | 一种网络爬虫系统及网络爬虫多任务执行和调度方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202348A (zh) * | 2016-07-04 | 2016-12-07 | 中山大学 | 一种网页表格信息抽取方法 |
CN108536691A (zh) * | 2017-03-01 | 2018-09-14 | 中兴通讯股份有限公司 | 网页爬取方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103902684B (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10120954B2 (en) | Transformation and presentation of on-demand native application crawling results | |
EP2721513B1 (en) | Live browser tooling in an integrated development environment | |
CN101290624B (zh) | 一种新闻网页元数据自动抽取方法 | |
CN103699591A (zh) | 一种基于示例页面的网页正文提取方法 | |
CA2690081A1 (en) | Migration of legacy applications | |
US11263062B2 (en) | API mashup exploration and recommendation | |
CN102915308A (zh) | 一种页面渲染的方法及装置 | |
KR101950126B1 (ko) | 수학공식 처리방법, 장치, 설비 및 컴퓨터 저장 매체 | |
CN103544298B (zh) | 组件的日志分析方法和分析装置 | |
CN105550165A (zh) | 可将网页文章导入网页文本编辑器的插件及方法 | |
CN103383691A (zh) | 一种网页的在线编辑方法和装置 | |
CN110045950A (zh) | 基于nodejs的静态页面开发脚手架方法 | |
CN105550179A (zh) | 一种网页收藏方法和浏览器插件 | |
CN100543741C (zh) | 自动下载和过滤网页的系统及方法 | |
CN103902684B (zh) | 一种爬虫采集内容结构化的方法 | |
CN103455572B (zh) | 获取网页中影视主体的方法及装置 | |
CN104008213A (zh) | 一种网页信息更新发现与统计的方法和装置 | |
JP5267342B2 (ja) | マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法 | |
CN110866374A (zh) | 一种在网页上对pdf文件缩略图的易操作方法 | |
CN114003714B (zh) | 一种文档上下文感知的智能知识推送方法 | |
KR20140134154A (ko) | 이미지에서 객체를 추출하기 위한 방법 및 단말기 | |
CN102750392B (zh) | Web主题信息提取方法及系统 | |
CN103838747B (zh) | 网络服务构建方法和设备以及网页数据抽取方法和设备 | |
CN109960590A (zh) | 一种优化嵌入式系统诊断打印的方法 | |
CN103377207B (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 |