CN107577788A - 一种自动结构化数据的电商网站主题爬虫方法 - Google Patents
一种自动结构化数据的电商网站主题爬虫方法 Download PDFInfo
- Publication number
- CN107577788A CN107577788A CN201710833641.9A CN201710833641A CN107577788A CN 107577788 A CN107577788 A CN 107577788A CN 201710833641 A CN201710833641 A CN 201710833641A CN 107577788 A CN107577788 A CN 107577788A
- Authority
- CN
- China
- Prior art keywords
- page
- electric business
- website
- analyzer
- analysis system
- 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
Abstract
本发明涉及一种自动结构化数据的电商网站主题爬虫方法,其特征在于包括以下步骤:传入入口地址以触发工作系统,所述工作系统中设有模块分析系统;模块分析系统进入工作状态,抓取工作也同期开启,以等待主线程的任务;模块分析系统对网站的新旧进行判断,如是旧网站则使用先前分析产生的规则进行分析解析;如是新网站则交由模块分析系统内的结构分析器,结构分析器根据预设的匹配模板,逐步分析出列表数据、目标字段的位置信息,并将产生的XPath存储在分析器实例中;最后进行爬虫的运作流程以完成结构化。该方法不但能够快速的获得多个站点的大量数据,而且能将焦点更多地放在结构化数据的处理和信息挖掘上。
Description
技术领域
本发明涉及一种自动结构化数据的电商网站主题爬虫方法。
背景技术
当前对于拥有海量数据的互联网,经常需要采集多个源站的结构化数据以用于数据分析、挖掘,而为不同网站定制数据采集程序的人工成本很高,特别是以电商类网站为例,其具有统一层次结构、垂直领域拥有行业语料和规范的特点。为了快速获得多个站点的大量数据,将焦点更多地放在结构化数据的处理和信息挖掘,一种自动结构化网站数据的主题爬虫方法的开发设计十分有必要。
发明内容
本发明针对上述问题,提出了一种自动结构化数据的电商网站主题爬虫方法。该方法不但能够快速的获得多个站点的大量数据,而且能将焦点更多地放在结构化数据的处理和信息挖掘上;其适用于主题爬虫和数据采集领域,特别是电商主题的自动化采集和数据处理方案。
为了达到上述目的,本发明一种自动结构化数据的电商网站主题爬虫方法,主要包括以下步骤:
首先,传入入口地址以触发工作系统,即传入分类页以进行引擎启动,所述工作系统中设有模块分析系统;
第二,引擎启动之后,模块分析系统进入工作状态,抓取工作也同期开启,以等待主线程的任务;
第三,模块分析系统对网站的新旧进行判断,如果是旧网站则直接进入到分析器实例中以使用先前分析产生的规则进行分析解析;如果是新网站则交由模块分析系统内的结构分析器,结构分析器根据预设的匹配模板,逐步分析出列表数据、目标字段的位置信息,并将产生的XPath存储在分析器实例中;
第四,进行爬虫的运作流程,根据层级提交给分析器解析出所需字段,进而完成结构化。
优选地,所述抓取工作的对象分为静态页面和动态页面。
进一步地,所述静态页面的抓取方式为:浏览器直接解析请求url后响应的html。
进一步地,电商网站中静态页面和动态页面这两种页面经常是共存的,为了提高普适度,所述动态页面的抓取方式应用静态抓取和前端渲染支持库相比较的方法来标记层级页面类型。
作为上述方案的进一步改进,所述比较过程的方法为一种基于网页正文结构和特征串的相似网页去重算法。
进一步的,所述比较方法主要包括以下步骤:
首先,进行网页正文的抽取,过滤掉网页中的噪声;
第二,利用网页正文生成树算法得到一棵结构树;
第三,用Bloom Filter算法计算每一层次特征串的指纹;
第四,网页相似度的判断,当相似度达到预定的阈值,就认为静态抓取和前端渲染得到的页面数据是等价的,此时断定该层级页面是静态的,否则认为是存在异步获取过程的动态页面。
需要说明的是,电商网站层级严谨,基于此相同层级的页面自然采取了同样的页面类型。所以比较方法的最后一步中标记的是某一层级而不是某个URL,后面的抓取都沿用本层级已经确定下来的策略即可。
本发明不但能够快速的获得多个站点的大量数据,而且能将焦点更多地放在结构化数据的处理和信息挖掘上;该方法适用于主题爬虫和数据采集领域,特别是电商主题的自动化采集和数据处理方案。
附图说明
图1为本发明方法的流程方框图;
图2为页面类型判断流程图;
图3为页面类型判断过程中的比较方法流程图;
图4为列表的匹配重根据网页列表的特征制定的流程示意图。
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不做为对本发明的限定。
参照图1~3,本发明实施例一种自动结构化数据的电商网站主题爬虫方法,主要包括以下步骤:
首先,传入入口地址以触发工作系统,即传入分类页以进行引擎启动,所述工作系统中设有模块分析系统;
第二,引擎启动之后,模块分析系统进入工作状态,抓取工作也同期开启,以等待主线程的任务;
第三,模块分析系统对网站的新旧进行判断,如果是旧网站则直接进入到分析器实例中以使用先前分析产生的规则进行分析解析;如果是新网站则交由模块分析系统内的结构分析器,结构分析器根据预设的匹配模板,逐步分析出列表数据、目标字段的位置信息,并将产生的XPath存储在分析器实例中;
第四,进行爬虫的运作流程,根据层级提交给分析器解析出所需字段,进而完成结构化。
所述抓取工作的对象分为静态页面和动态页面。所述静态页面的抓取方式为:浏览器直接解析请求url后响应的html。电商网站中静态页面和动态页面这两种页面经常是共存的,为了提高普适度,所述动态页面的抓取方式应用静态抓取和前端渲染支持库相比较的方法来标记层级页面类型。
参照图2和图3,所述比较过程的方法为一种基于网页正文结构和特征串的相似网页去重算法。
参照图2和图3,所述比较方法主要包括以下步骤:
首先,进行网页正文的抽取,过滤掉网页中的噪声;
第二,利用网页正文生成树算法得到一棵结构树;
第三,用Bloom Filter算法计算每一层次特征串的指纹;
第四,网页相似度的判断,当相似度达到预定的阈值,就认为静态抓取和前端渲染得到的页面数据是等价的,此时断定该层级页面是静态的,否则认为是存在异步获取过程的动态页面。
需要说明的是,电商网站层级严谨,基于此相同层级的页面自然采取了同样的页面类型。所以比较方法的最后一步中标记的是某一层级而不是某个URL,后面的抓取都沿用本层级已经确定下来的策略即可。
本发明梭讨论的自动结构化的关键点在于如何实现较为精准的标签匹配,这里可以通过“列表的匹配”和“匹配目标字段的标签”两种方式实现。
对于“列表的匹配”此项用来分辨类别、商品列表的数据是在页面的哪一部分。本实施例分析了多个站点的结构,如下是比较典型的一种:
图4为列表的匹配重根据网页列表的特征制定的流程示意图。参照图4,依据上述网页中列表的特征:结构一致、覆盖此页大部分、多用div/ul/li标签,制定了如图4所示的流程。
先去除不关网页结构但占据很多篇幅的代码和文字,仅仅留下body标签的内容并生成结构树,其中还要把标签文本去除来减少文档体积以提高后期分析效率。在标识重复相似节点时将一种基于节点加权的XML检测算法和加权频繁子树相似度的算法作出一定结合和改进,其算法描述如下:
1、将HTMLL文档用SAX(Simple API for XML)转化为一棵带权树,其中class、name、type等属性应该设置较高的权值,注意应将相同根节点的同一层次节点的权值之和等于1。
2、任意两棵树进行相似性的粗略匹配,将属性值相等的节点计算相似度:带权树Ta、Tb,N代表两棵树的节点数,a1-an和b1-bn代表节点权值,相似度计算公式:计算得到的相似度如果大于预设的α,认为相似。
3、将“2”得到的相似节点对使用树编辑距离算法,计算后的距离值小于给定的阈值β,便最终确认其节点对是相似重复节点。
“判断标签名”这一步是为了解决在网页中发现多片区域出现相似重复节点的情况,这时应当给ul/li较高优先,依次类推。最后确定了列表的位置,转化为XPath(XML路径语言)并存储,供后续页面解析进行快速匹配。
下面陈述对于“匹配目标字段的标签”的问题。“列表的匹配”中介绍的是如何锁定目标数据的范围,还有一个问题就是如何抓取最终的有价值字段。本文基于主题爬虫的特点提出一种属性语义匹配的方案,首先给每个字段建立一个用于预测的词库,然后进行全部/局部匹配,计算得到权值之后进行比较以实现预测。
假如要匹配商品名称,本文设定了词库和权值见表:
因为代码命名常是使用缩写,当标签的id属性局部匹配(本文推荐50%)时即加上该权值,一些用词经常是把缩写也纳入词库,并且权值应该更高。匹配计算过程如下:
匹配标签1:<p id="prodName"class="..."/>
对于product,局部匹配
对于name,全部匹配
计算权值:S=5+5=10
匹配标签2:<div id=”product-item”/>
对于product,全部匹配
对于name,不匹配
计算权值:S=5
因此可以得出结论:描述商品名称字段的是标签1。
还有一点需要注意的是,标签描述属性不只是id也可能是name,还有的情况是自定义的属性,这就需要在原来的算法上加以延伸,变成决策树的模型,这里不再展开讨论。
本发明实施例不但能够快速的获得多个站点的大量数据,而且能将焦点更多地放在结构化数据的处理和信息挖掘上;该方法适用于主题爬虫和数据采集领域,特别是电商主题的自动化采集和数据处理方案。
以上已将本发明做一详细说明,但显而易见,本领域的技术人员可以进行各种改变和改进,而不背离所附权利要求书所限定的本发明的范围。
Claims (6)
1.一种自动结构化数据的电商网站主题爬虫方法,其特征在于,主要包括以下步骤:
首先,传入入口地址以触发工作系统,即传入分类页以进行引擎启动,所述工作系统中设有模块分析系统;
第二,引擎启动之后,模块分析系统进入工作状态,抓取工作也同期开启,以等待主线程的任务;
第三,模块分析系统对网站的新旧进行判断,如果是旧网站则直接进入到分析器实例中以使用先前分析产生的规则进行分析解析;如果是新网站则交由模块分析系统内的结构分析器,结构分析器根据预设的匹配模板,逐步分析出列表数据、目标字段的位置信息,并将产生的XPath存储在分析器实例中;
第四,进行爬虫的运作流程,根据层级提交给分析器解析出所需字段,进而完成结构化。
2.根据权利要求1所述的一种自动结构化数据的电商网站主题爬虫方法,其特征在于,所述抓取工作的对象分为静态页面和动态页面。
3.根据权利要求2所述的一种自动结构化数据的电商网站主题爬虫方法,其特征在于,所述静态页面的抓取方式为:浏览器直接解析请求url后响应的html。
4.根据权利要求2所述的一种自动结构化数据的电商网站主题爬虫方法,其特征在于,所述动态页面的抓取方式应用静态抓取和前端渲染支持库相比较的方法来标记层级页面类型。
5.根据权利要求4所述的一种自动结构化数据的电商网站主题爬虫方法,其特征在于,所述比较过程的方法为一种基于网页正文结构和特征串的相似网页去重算法。
6.根据权利要求4所述的一种自动结构化数据的电商网站主题爬虫方法,其特征在于,所述比较方法主要包括以下步骤:
首先,进行网页正文的抽取,过滤掉网页中的噪声;
第二,利用网页正文生成树算法得到一棵结构树;
第三,用Bloom Filter算法计算每一层次特征串的指纹;
第四,网页相似度的判断,当相似度达到预定的阈值,就认为静态抓取和前端渲染得到的页面数据是等价的,此时断定该层级页面是静态的,否则认为是存在异步获取过程的动态页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833641.9A CN107577788B (zh) | 2017-09-15 | 2017-09-15 | 一种自动结构化数据的电商网站主题爬虫方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833641.9A CN107577788B (zh) | 2017-09-15 | 2017-09-15 | 一种自动结构化数据的电商网站主题爬虫方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107577788A true CN107577788A (zh) | 2018-01-12 |
CN107577788B CN107577788B (zh) | 2021-12-31 |
Family
ID=61033513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710833641.9A Active CN107577788B (zh) | 2017-09-15 | 2017-09-15 | 一种自动结构化数据的电商网站主题爬虫方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107577788B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808000A (zh) * | 2017-11-13 | 2018-03-16 | 哈尔滨工业大学(威海) | 一种暗网数据采集与抽取系统及方法 |
CN109190003A (zh) * | 2018-08-20 | 2019-01-11 | 上海蜜度信息技术有限公司 | 用于确定列表页节点的方法与设备 |
CN109753596A (zh) * | 2018-12-29 | 2019-05-14 | 中国科学院计算技术研究所 | 用于大规模网络数据采集的信源管理与配置方法和系统 |
CN110874428A (zh) * | 2019-11-11 | 2020-03-10 | 汉口北进出口服务有限公司 | 电商页面的结构化数据提取装置、方法及可读存储介质 |
CN112084390A (zh) * | 2020-09-07 | 2020-12-15 | 广东赛博威信息科技有限公司 | 一种电商平台中利用自动结构化爬虫搜索的方法 |
CN112287254A (zh) * | 2020-11-23 | 2021-01-29 | 武汉虹旭信息技术有限责任公司 | 网页结构化信息提取方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561802A (zh) * | 2008-04-18 | 2009-10-21 | 上海复旦光华信息科技股份有限公司 | 网页结构化数据提取方法与系统 |
US20120072409A1 (en) * | 2005-09-28 | 2012-03-22 | Bradley John Perry | Method and system for identifying targeted data on a web page |
US20120102121A1 (en) * | 2010-10-25 | 2012-04-26 | Yahoo! Inc. | System and method for providing topic cluster based updates |
US20120317472A1 (en) * | 2011-06-07 | 2012-12-13 | Profitero Ltd | Creation of data extraction rules to facilitate web scraping of unstructured data from web pages |
CN103310026A (zh) * | 2013-07-08 | 2013-09-18 | 焦点科技股份有限公司 | 一种基于搜索引擎的轻量级通用网页主题爬虫方法 |
CN104965907A (zh) * | 2015-06-30 | 2015-10-07 | 小米科技有限责任公司 | 结构化对象的生成方法及装置 |
CN105243159A (zh) * | 2015-10-28 | 2016-01-13 | 福建亿榕信息技术有限公司 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
CN105320719A (zh) * | 2015-01-16 | 2016-02-10 | 焦点科技股份有限公司 | 一种基于项目标签和图形关系的众筹网站项目推荐方法 |
CN106055618A (zh) * | 2016-05-26 | 2016-10-26 | 优品财富管理有限公司 | 一种基于网络爬虫与结构化存储的数据处理方法 |
-
2017
- 2017-09-15 CN CN201710833641.9A patent/CN107577788B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120072409A1 (en) * | 2005-09-28 | 2012-03-22 | Bradley John Perry | Method and system for identifying targeted data on a web page |
CN101561802A (zh) * | 2008-04-18 | 2009-10-21 | 上海复旦光华信息科技股份有限公司 | 网页结构化数据提取方法与系统 |
US20120102121A1 (en) * | 2010-10-25 | 2012-04-26 | Yahoo! Inc. | System and method for providing topic cluster based updates |
US20120317472A1 (en) * | 2011-06-07 | 2012-12-13 | Profitero Ltd | Creation of data extraction rules to facilitate web scraping of unstructured data from web pages |
CN103310026A (zh) * | 2013-07-08 | 2013-09-18 | 焦点科技股份有限公司 | 一种基于搜索引擎的轻量级通用网页主题爬虫方法 |
CN105320719A (zh) * | 2015-01-16 | 2016-02-10 | 焦点科技股份有限公司 | 一种基于项目标签和图形关系的众筹网站项目推荐方法 |
CN104965907A (zh) * | 2015-06-30 | 2015-10-07 | 小米科技有限责任公司 | 结构化对象的生成方法及装置 |
CN105243159A (zh) * | 2015-10-28 | 2016-01-13 | 福建亿榕信息技术有限公司 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
CN106055618A (zh) * | 2016-05-26 | 2016-10-26 | 优品财富管理有限公司 | 一种基于网络爬虫与结构化存储的数据处理方法 |
Non-Patent Citations (2)
Title |
---|
林晶等: "基于主题语义URL的信息搜索方法研究_林晶", 《计算机应用与软件》 * |
熊忠阳等: "基于网页正文结构和特征串的相似网页去重算法_熊忠阳", 《计算机应用》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808000A (zh) * | 2017-11-13 | 2018-03-16 | 哈尔滨工业大学(威海) | 一种暗网数据采集与抽取系统及方法 |
CN109190003A (zh) * | 2018-08-20 | 2019-01-11 | 上海蜜度信息技术有限公司 | 用于确定列表页节点的方法与设备 |
CN109190003B (zh) * | 2018-08-20 | 2021-03-02 | 上海蜜度信息技术有限公司 | 用于确定列表页节点的方法与设备 |
CN109753596A (zh) * | 2018-12-29 | 2019-05-14 | 中国科学院计算技术研究所 | 用于大规模网络数据采集的信源管理与配置方法和系统 |
CN110874428A (zh) * | 2019-11-11 | 2020-03-10 | 汉口北进出口服务有限公司 | 电商页面的结构化数据提取装置、方法及可读存储介质 |
CN112084390A (zh) * | 2020-09-07 | 2020-12-15 | 广东赛博威信息科技有限公司 | 一种电商平台中利用自动结构化爬虫搜索的方法 |
CN112084390B (zh) * | 2020-09-07 | 2024-03-19 | 广东赛博威信息科技有限公司 | 一种电商平台中利用自动结构化爬虫搜索的方法 |
CN112287254A (zh) * | 2020-11-23 | 2021-01-29 | 武汉虹旭信息技术有限责任公司 | 网页结构化信息提取方法、装置、电子设备及存储介质 |
CN112287254B (zh) * | 2020-11-23 | 2023-10-27 | 武汉虹旭信息技术有限责任公司 | 网页结构化信息提取方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107577788B (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577788A (zh) | 一种自动结构化数据的电商网站主题爬虫方法 | |
US8046681B2 (en) | Techniques for inducing high quality structural templates for electronic documents | |
US20090125529A1 (en) | Extracting information based on document structure and characteristics of attributes | |
US20150378971A1 (en) | Automated document revision markup and change control | |
Mukherjee et al. | Automatic annotation of content-rich html documents: Structural and semantic analysis | |
US20090248707A1 (en) | Site-specific information-type detection methods and systems | |
US20010018697A1 (en) | Structured document processing system and structured document processing method | |
US20150067476A1 (en) | Title and body extraction from web page | |
EP2309400A1 (en) | Pattern recognition in web search engine result pages | |
WO2008002638A1 (en) | Visual and multi-dimensional search | |
US20100185684A1 (en) | High precision multi entity extraction | |
Azir et al. | Wrapper approaches for web data extraction: A review | |
CN108021598A (zh) | 页面抽取模板匹配方法、装置及服务器 | |
JP2005063432A (ja) | マルチメディアオブジェクト検索装置およびマルチメディアオブジェクト検索方法 | |
US11334592B2 (en) | Self-orchestrated system for extraction, analysis, and presentation of entity data | |
JP2007286861A (ja) | 文書構造抽出方法および文書検索方法 | |
Murthy | XML URL classification based on their semantic structure orientation for web mining applications | |
CN104778232B (zh) | 一种基于长查询的搜索结果的优化方法和装置 | |
Sabri et al. | Improving performance of DOM in semi-structured data extraction using WEIDJ model | |
CN110083760B (zh) | 一种基于可视块的多记录型动态网页信息提取方法 | |
Kong et al. | Adaptive mobile interfaces through grammar induction | |
Sano et al. | A web page segmentation method based on page layouts and title blocks | |
Pouramini et al. | Web content extraction using contextual rules | |
Htwe et al. | Noise removing from Web pages using neural network | |
WO2013010557A1 (en) | Method and system for data mining a document. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510665 No. 293 Shipai Zhongshan Avenue, Tianhe District, Guangzhou City, Guangdong Province Applicant after: GUANGDONG POLYTECHNIC NORMAL University Address before: 510665 No. 293 Shipai Zhongshan Avenue, Tianhe District, Guangzhou City, Guangdong Province Applicant before: GUANGDONG POLYTECHNIC NORMAL University |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |