CN104331512B - 一种bbs页面自动采集方法 - Google Patents

一种bbs页面自动采集方法 Download PDF

Info

Publication number
CN104331512B
CN104331512B CN201410684169.3A CN201410684169A CN104331512B CN 104331512 B CN104331512 B CN 104331512B CN 201410684169 A CN201410684169 A CN 201410684169A CN 104331512 B CN104331512 B CN 104331512B
Authority
CN
China
Prior art keywords
node
floor
bbs
child node
child
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
CN201410684169.3A
Other languages
English (en)
Other versions
CN104331512A (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.)
Xi'an Fenghuo Software Technology Co ltd
Original Assignee
NANJING FIBERHOME INFORMATION DEVELOPMENT 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 NANJING FIBERHOME INFORMATION DEVELOPMENT Co Ltd filed Critical NANJING FIBERHOME INFORMATION DEVELOPMENT Co Ltd
Priority to CN201410684169.3A priority Critical patent/CN104331512B/zh
Publication of CN104331512A publication Critical patent/CN104331512A/zh
Application granted granted Critical
Publication of CN104331512B publication Critical patent/CN104331512B/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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

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

Abstract

本发明公开了一种BBS页面自动采集方法,包括以下步骤:步骤1,采集获取BBS页面所有元素信息;步骤2,交叉对比系统库中节点元素;步骤3,若节点名称相同,比较节点数量;步骤4,确定节点名称和节点数量都相同之后,交叉对比的两个节点标识为当前楼层节点;步骤5,记录楼层节点的XPath,完成帖子楼层的分割,楼层内容的XPath提取,实现通用信息采集。本发明通过自动解析html结构能够处理绝大部分的BBS站点,有效的提高了采集开发效率,优化了采集系统结构,简化采集处理流程,为大规模采集系统提供了新的高效解决方案。

Description

一种BBS页面自动采集方法
技术领域
本发明涉及一种互联网计算机BBS处理技术领域,特别是一种BBS页面自动采集方法。
背景技术
随着科技的进步,互联网信息进入一个爆炸式、多元式的时代,互联网成为一个巨大的信息库,互联网信息采集可以使您在信息采集、资源整合、资金利用、人力投入等方面节约大量资源,广泛应用于行业门户网站信息采集、竞争对手情报数据搜集、网站内容系统建设、垂直搜索、舆情监测、科研等领域。
常规的BBS(电子公告牌系统(Bulletin Board System)通过计算机上运行服务软件,允许用户终端通过网络连接,上传下载数据,与其他用户交流信息等功能)页面内容采集程序工作时,依赖于人工提供每个不同BBS站点的页面解析模板,格式定义文件中定义了BBS帖子中所有有效数据项的XPath,如帖子标题、正文、作者、发表时间,以及回复者、回复内容、回复时间等等。
维护BBS站点页面解析模板是非常枯燥的,而且采集程序覆盖的站点越多,工作量越大。若BBS站点改版后,原有的页面解析模板文件也就随之‘过期’,需要重新订制,但是往往很难及时发现并重新订制,导致一旦某个BBS站点改版,那么在发现之前,这些BBS站点的数据都将异常甚至丢失。
总之现有的BBS站点因为格式多样化,数据量爆炸式膨胀,监控严格等,导致收集难度加大,主要表现在:
1、需要人工配置BBS页面解析模板,制定对应信息的XPath。
2、网站的海量信息抓取,规则难以统一制定。一般会针对每个站点单独配置解析模板,工作量大;
3、后继带来了海量的规则维护工作,以及站点改版后规则要实时更新的问题;
4、若不能够及时发现BBS站点改版,那么采集这些BBS站点的数据将会出现异常。
以上技术缺陷对于大型的采集系统这些问题尤为突出,急需通过新的技术方法来取代人工的维护工作。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种BBS页面自动采集方法。
为了解决上述技术问题,本发明公开了一种BBS页面自动采集方法,包括以下步骤:
步骤1,采集获取BBS页面所有元素信息;
步骤2,交叉对比系统库中节点元素;
步骤3,若节点名称相同,比较节点数量;
步骤4,确定节点名称和节点数量都相同之后,交叉对比的两个节点标识为当前楼层节点;
步骤5,记录楼层节点的XPath(XML路径语言,用来确定XML文档中某部分位置),完成帖子楼层的分割,楼层内容的XPath提取,实现通用信息采集。
本发明中,步骤1包括互联网访问目标BBS帖子页面,并获取页面字节流,将字节流解析成jdom对象,jdom中包含所有Element对应的html标签,且拥有html标签的所有属性和值。
本发明中,步骤2~步骤4包括:
遍历jdom对象的所有Element:
若Element A 的子节点数量大于1,交叉比较Element A的所有子节点,即所有的子节点与其他所有兄弟节点依次比较;当比较的子节点a和子节点b的节点名称相同,且所拥有的属性值相同,则进一步比较子节点a和子节点b的结构;
若子节点a的子节点结构与子节点b的子节点结构相同,即拥有相同名称、属性和数量的子节点,则认为子节点a和子节点b结构相同;
若子节点a包含的<A>节点(HTML中<A>标签节点用于定义超链接,用于从一个页面链接到另一个页面,其最重要的属性是href,它指示链接的目标)数量少于子节点a包含的文本类型节点数量,则认为子节点a节点为楼层节点;
若Element A 的子节点数量为0或1,则认为该节点下的直接子节点不需要划分楼层。
本发明中,步骤5包括:
记录楼层节点的XPath,完成帖子楼层的分割;
确定楼层中的有效数据节点,并记录XPath位置;
楼层结构为左右结构,左边节点包含楼层作者信息,右边节点包含发表内容、发表时间;作者信息对应作者节点,即楼层结构左边节点;作者节点为<a>节点,herf属性值为作者信息页面的URL,节点值为作者名称;发表时间出现在楼层节点中的任何地方,提取方式为按照日期格式进行匹配;发表内容位于楼层节点右边,存在于两个以上html文本标签中,需要将对应的html文本标签内容追加提取;
保存该BBS站点的贴子规则,将分析过程中记录的有效数据XPath生成页面解析模板,供采集使用;
采集程序执行时,检查要采集的BBS站点是否存在页面解析模板,如果存在且模板没有过期,那么直接使用页面解析模板采集;如果发现没有模板或模板已经过期,那么就通过上述步骤自动解析生成页面解析模板。
本发明中:
JDOM:一种是用XML的独特java工具包,包含java语言的语法乃至语义,实现XML文件解析。
Element:XML文档中的元素,可以包含属性,其他元素含有文本。
HTML:超文本标记语言,构成网页文档的主要语言,可以包含文字、图形、动画、声音、表格、链接等。
HTML:超文本标记语言,构成网页文档的主要语言,可以包含文字、图形、动画、声音、表格、链接等。
有益效果:本发明通过自动解析html结构能够处理绝大部分的BBS站点,有效的提高了采集开发效率,优化了采集系统结构,简化采集处理流程,为大规模采集系统提供了新的高效解决方案。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明流程图。
具体实施方式
本发明公开了一种BBS页面自动采集方法,包括以下步骤:步骤1,采集获取BBS页面所有元素信息;步骤2,交叉对比系统库中节点元素;步骤3,若节点名称相同,比较节点数量;步骤4,确定节点名称和节点数量都相同之后,交叉对比的两个节点标识为当前楼层节点;步骤5,记录楼层节点的XPath(XML路径语言,用来确定XML文档中某部分位置),完成帖子楼层的分割,楼层内容的XPath提取,实现通用信息采集。
具体而言,本发明包括以下步骤:
(1)互联网访问目标BBS帖子页面,并获取页面字节流。
(2)将字节流解析成jdom对象,jdom中包含所有Element对应的html标签,且拥有html标签的所有属性和值。
(3)遍历jdom对象的所有Element。
(3-1)若Element A 的子节点数量大于1
交叉比较A的所有子节点,即所有的子节点与其他所有兄弟节点依次比较。
当比较的两个子节点 a 和 b 的节点名称相同,且所拥有的属性值相同,则进一步比较a和b的结构;
若a的子节点结构与b的子节点结构相同,即拥有相同名称、属性和数量的子节点,则认为节点a和b结构相同;
若a包含的<A>节点数量少于a包含的文本类型节点数量,则认为a节点为楼层节点。
(3-2)若Element A 的子节点数量为0或1,则认为该节点下的直接子节点不需要划分楼层。
(4)记录楼层节点的XPath,完成帖子楼层的分割;
(5)确定楼层中的有效数据节点,并记录XPath位置;
说明:楼层结构一般为左右结构,左边节点包含楼层作者信息;右边节点包含内容、发表时间。
作者节点特征:楼层结构左边节点;作者节点为<a>节点,herf属性值为作者信息页面的URL,节点值为作者名称;
发表时间:发表时间可能出现在楼层节点中的任何地方,但是提取方式只需要按照日期格式进行匹配;
发表内容:位于楼层节点右边,可能存在于多个html文本标签中,需要将对应的html文本标签内容追加提取。
(6)该站点的帖子规则保存:将分析过程中记录的有效数据XPath生成页面解析模板,供采集程序使用。
(7)采集程序执行时,可以检查要采集的站点是否存在页面解析模板,如果存在且模板没有过期,那么可以直接使用页面解析模板采集;如果发现没有模板或模板已经过期,那么就通过01-06自动解析生成页面解析模板。
本发明提供了一种BBS页面自动采集方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (3)

1.一种BBS页面自动采集方法,其特征在于,包括以下步骤:
步骤1,采集获取BBS页面所有元素信息;
步骤2,交叉对比系统库中节点元素;
步骤3,若节点名称相同,比较节点数量;
步骤4,确定节点名称和节点数量都相同之后,交叉对比的两个节点标识为当前楼层节点;
步骤5,记录楼层节点的XPath路径,完成帖子楼层的分割,楼层内容的XPath提取,实现通用信息采集;
步骤1包括互联网访问目标BBS帖子页面,并获取页面字节流,将字节流解析成jdom对象,jdom中包含所有Element对应的html标签,且拥有html标签的所有属性和值;
步骤2~步骤4包括:
遍历jdom对象的所有Element:
若Element A的子节点数量大于1,交叉比较Element A的所有子节点,即所有的子节点与其他所有兄弟节点依次比较;当比较的子节点a和子节点b的节点名称相同,且所拥有的属性值相同,则进一步比较子节点a和子节点b的结构;
若子节点a的子节点结构与子节点b的子节点结构相同,即拥有相同名称、属性和数量的子节点,则认为子节点a和子节点b结构相同;
若子节点a包含的<A>节点数量少于子节点a包含的文本类型节点数量,则认为子节点a节点为楼层节点;
若Element A的子节点数量为0或1,则认为该节点下的直接子节点不需要划分楼层。
2.根据权利要求1所述的一种BBS页面自动采集方法,其特征在于,步骤5包括:
记录楼层节点的XPath,完成帖子楼层的分割;
确定楼层中的有效数据节点,并记录XPath位置;
楼层结构为左右结构,左边节点包含楼层作者信息,右边节点包含发表内容、发表时间;作者信息对应作者节点,即楼层结构左边节点;作者节点为<a>节点,herf属性值为作者信息页面的URL,节点值为作者名称;发表时间出现在楼层节点中的任何地方,提取方式为按照日期格式进行匹配;发表内容位于楼层节点右边,存在于两个以上html文本标签中,需要将对应的html文本标签内容追加提取;
保存该BBS站点的贴子规则,将分析过程中记录的有效数据XPath生成页面解析模板,供采集使用。
3.根据权利要求2所述的一种BBS页面自动采集方法,其特征在于,步骤5包括:采集程序执行时,检查要采集的BBS站点是否存在页面解析模板,如果存在且模板没有过期,那么直接使用页面解析模板采集;如果发现没有模板或模板已经过期,那么就通过上述步骤自动解析生成页面解析模板。
CN201410684169.3A 2014-11-25 2014-11-25 一种bbs页面自动采集方法 Active CN104331512B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410684169.3A CN104331512B (zh) 2014-11-25 2014-11-25 一种bbs页面自动采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410684169.3A CN104331512B (zh) 2014-11-25 2014-11-25 一种bbs页面自动采集方法

Publications (2)

Publication Number Publication Date
CN104331512A CN104331512A (zh) 2015-02-04
CN104331512B true CN104331512B (zh) 2017-10-20

Family

ID=52406239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410684169.3A Active CN104331512B (zh) 2014-11-25 2014-11-25 一种bbs页面自动采集方法

Country Status (1)

Country Link
CN (1) CN104331512B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933168B (zh) * 2015-06-30 2018-08-14 南京烽火星空通信发展有限公司 一种网页内容自动采集方法
CN106528769A (zh) * 2016-11-04 2017-03-22 乐视控股(北京)有限公司 一种数据采集方法及装置
CN109150612B (zh) * 2018-08-30 2021-09-10 百度在线网络技术(北京)有限公司 一种用于无人车的基于分布式系统的检测方法及电子设备
CN111221610B (zh) * 2020-01-03 2023-07-04 建信金融科技有限责任公司 一种页面元素采集方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496581B2 (en) * 2002-07-19 2009-02-24 International Business Machines Corporation Information search system, information search method, HTML document structure analyzing method, and program product
CN101692225A (zh) * 2009-09-09 2010-04-07 南京烽火星空通信发展有限公司 基于锚定位的bbs和论坛的楼层分割方法
CN102779170A (zh) * 2012-06-25 2012-11-14 北京奇虎科技有限公司 一种识别网页正文楼层的系统和方法
CN103544178A (zh) * 2012-07-13 2014-01-29 百度在线网络技术(北京)有限公司 一种用于提供与目标页面相对应的重构页面的方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496581B2 (en) * 2002-07-19 2009-02-24 International Business Machines Corporation Information search system, information search method, HTML document structure analyzing method, and program product
CN101692225A (zh) * 2009-09-09 2010-04-07 南京烽火星空通信发展有限公司 基于锚定位的bbs和论坛的楼层分割方法
CN102779170A (zh) * 2012-06-25 2012-11-14 北京奇虎科技有限公司 一种识别网页正文楼层的系统和方法
CN103544178A (zh) * 2012-07-13 2014-01-29 百度在线网络技术(北京)有限公司 一种用于提供与目标页面相对应的重构页面的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中文BBS信息提取与分类;韩杰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120515;第1-46页 *

Also Published As

Publication number Publication date
CN104331512A (zh) 2015-02-04

Similar Documents

Publication Publication Date Title
CN103023714B (zh) 基于网络话题的活跃度与集群结构分析系统及方法
CN104933168B (zh) 一种网页内容自动采集方法
CN102184184B (zh) 一种网页动态信息获取方法
CN102523274B (zh) 基于核心网侧的无线个性化精准信息主动推送系统及方法
CN104331512B (zh) 一种bbs页面自动采集方法
CN106096056A (zh) 一种基于分布式的舆情数据实时采集方法和系统
CN107943838B (zh) 一种自动获取xpath生成爬虫脚本的方法及系统
CN101609399B (zh) 基于建模的智能化网站开发系统及方法
TWI592807B (zh) Method and device for web style address merge
JP2010512563A (ja) 分散型コンピュータネットワークに基づくログファイル分析方法およびシステム
CN102486799B (zh) 一种环球信息网www页面处理方法和装置
CN101370024A (zh) 信息的分布式采集方法及系统
CN109522018A (zh) 页面处理方法、装置及存储介质
CN103686244A (zh) 视频数据的管理方法及其系统
CN102314497B (zh) 一种用于识别标记语言文件主体内容的方法和设备
CN104869009A (zh) 网站数据统计的系统和方法
US11030384B2 (en) Identification of sequential browsing operations
CN104765823A (zh) 一种网站数据采集的方法及装置
CN102521232A (zh) 一种互联网元数据的分布式采集处理系统及方法
CN105302917A (zh) 应用于电子商务平台的数据处理系统及数据处理方法
CN102571922B (zh) 一种数据流处理方法及装置
CN112287272A (zh) 一种网站列表页面的分类方法、系统及存储介质
CN102004805B (zh) 基于最大相似性匹配的网页去噪系统及其去噪方法
CN103761257A (zh) 基于移动浏览器的网页处理方法及系统
JP2004220251A (ja) 情報抽出規則作成システム、情報抽出規則作成方法及び情報抽出規則作成プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20170905

Address after: 210019 Yunlong Road 88, Jianye District, Jiangsu, Nanjing

Applicant after: NANJING FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

Address before: 210019, A building 26F, beacon technology building, 88 Yunlong Road, Jianye District, Jiangsu, Nanjing

Applicant before: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230619

Address after: 710077 No. 678, Kunyuan Road, Chang'an District, Xi'an, Shaanxi

Patentee after: XI'AN FENGHUO SOFTWARE TECHNOLOGY CO.,LTD.

Address before: 210019 No. 88 Yunlongshan Road, Jianye District, Nanjing City, Jiangsu Province

Patentee before: NANJING FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right