一种互联网非结构化文本数据的采集方法与流程

文档序号:17927075发布日期:2019-06-15 00:29阅读:1398来源:国知局
本发明公开一种互联网非结构化文本数据的采集方法,涉及数据业务
技术领域
:。
背景技术
::非结构化数据是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据,用它不仅可以处理结构化数据(如数字、符号等信息)而且更适合处理全文文本、图象、声音、影视、超媒体等信息。现今的互联网的数据众多,抓取数据时常用八爪鱼采集器,八爪鱼采集器是可视化采集工具,通过点击目标位置来确定采集项目,对于结构化的网页能够快速便捷的采集到所需数据。但是对于大多数网页来说,非结构化数据的数据才是主导,尤其是非结构化文本数据,其内容和排版是非结构化的,不能通过xpath顺序定位准确定位目标。而本发明提供一种互联网非结构化文本数据的采集方法,利用本发明的采集策略,可以接入多种复杂的非结构化互联网网页数据源,增强系统配置的灵活性和数据抓取的准确性,保证了数据读取的有效性和效率,对大规模非结构化数据源的处理进行有效解决。技术实现要素:本发明针对现有技术的问题,提供一种互联网非结构化文本数据的采集方法,具有通用性强、实施简便等特点,具有广阔的应用前景。本发明提出的具体方案是:一种互联网非结构化文本数据的采集方法,利用八爪鱼采集器获取目标网页,确定采集字段,获取翻页,构造循环,进行每个详情页链接解析,获取详情页,根据详情页文本类型进行数据提取,其中对文本式详情页利用正则表达式提取数据并格式化,对表格式详情页利用xpath提取数据并格式化,对包含文本和表格的详情页结合正则表达式和xpath提取数据并格式化,获得格式化后的提取数据。所述的方法中通过获取翻页,构造循环来遍历所有翻页的列表页,根据要求解析每个详情页,剔除不必要的采集链接。所述的方法中获取翻页,构造循环,在网页调试network界面获得网页传递的链接和参数属性,通过循环改变参数值构造循环链接,利用//a[text()=’下一页’]标签获取下一页的详情页链接。所述的方法中利用正则表达式提取数据进行格式化处理后,再重复利用根据正则表达式进行数据提取。所述的方法中利用xpath提取数据时,若表格式详情页的表格类元素标签没有明确的id或class名称,利用text()属性和contains函数定位位置,再利用following或following-sibling函数抓取同级的下一个元素的文本。一种互联网非结构化文本数据的采集工具,包括八爪鱼采集单元及分析单元,利用八爪鱼采集单元获取目标网页,确定采集字段,获取翻页,构造循环,进行每个详情页链接解析,获取详情页,分析单元根据详情页文本类型对详情页进行划分,八爪鱼采集单元对文本式详情页利用正则表达式提取数据并格式化,对表格式详情页利用xpath提取数据并格式化,对包含文本和表格的详情页结合正则表达式和xpath提取数据并格式化,获得格式化后的提取数据。所述的工具中八爪鱼采集单元通过获取翻页,构造循环来遍历所有翻页的列表页,根据要求解析每个详情页,剔除不必要的采集链接。所述的工具中八爪鱼采集单元获取翻页,构造循环,在网页调试network界面获得网页传递的链接和参数属性,通过循环改变参数值构造循环链接,利用//a[text()=’下一页’]标签获取下一页的详情页链接。本发明的有益之处是:本发明提供一种互联网非结构化文本数据的采集方法,为采集互联网非结构化网页提供了良好的解决方案,尤其针对大段落文本和网状表格类页面的数据采集,通过正则表达式定位大段落文本数据位置,可结合xpath定位表格元素,大大提高了采集规则的匹配度,保证了采集结果的准确性、一致性和完整性。附图说明图1是本发明方法流程示意图。图2实施例1和实施例2翻页示意图;图3实施例1详情页示意图;图4实施例1中页面详情示意图;具体实施方式本发明提供一种互联网非结构化文本数据的采集方法,利用八爪鱼采集器获取目标网页,确定采集字段,获取翻页,构造循环,进行每个详情页链接解析,获取详情页,根据详情页文本类型进行数据提取,其中对文本式详情页利用正则表达式提取数据并格式化,对表格式详情页利用xpath提取数据并格式化,对包含文本和表格的详情页结合正则表达式和xpath提取数据并格式化,获得格式化后的提取数据。同时提供与上述方法相对应的一种互联网非结构化文本数据的采集工具,包括八爪鱼采集单元及分析单元,利用八爪鱼采集单元获取目标网页,确定采集字段,获取翻页,构造循环,进行每个详情页链接解析,获取详情页,分析单元根据详情页文本类型对详情页进行划分,八爪鱼采集单元对文本式详情页利用正则表达式提取数据并格式化,对表格式详情页利用xpath提取数据并格式化,对包含文本和表格的详情页结合正则表达式和xpath提取数据并格式化,获得格式化后的提取数据。下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。实施例1,利用本发明方法或工具,采集枣庄房地产预售信息。步骤1.获取枣庄住宅与房地产信息网址,确定采集字段,网站url:http://www.zzzzfdc.com.cn/site/news/11/news_11_1_0.html采集字段:公告编号、公告日期、开发企业、商品房预售许可证号、项目名称、项目位置、预售面积、采集url、采集时间;步骤2:获取翻页,如图2;构造循环,循环点击下一页,元素位置://a[text()=’下一页’]步骤3:获取详情页,如图3,由于只采集商品房预售许可公告,需要剔除房地产开发经营许可公告,因此利用高级xpath定位目标详情链接,构造循环,利用xpath的contains用法,匹配一个属性值中包含的字符串,元素位置://a[contains(@title,'预售许可公告')]依次打开循环中的链接;步骤4:提取数据,如图4,由于网页是一段文本,利用正则表达式提取并格式化;提取后得到表格1,表1公告编号商品房预售许可公告.*公告时间\d+年\d+月\d+日开发企业对(.*)开发建设商品房预售许可证号《商品房预售许可证》号为:(.*)。该项目项目名称开发建设的(.*)项目.*做出项目位置该项目位于(.*),批准预售面积预售面积(.*),商品房格式化后得到表2,表2实施例2,利用本发明或工具采集信用辽宁-行政处罚数据。步骤1.获取信用辽宁-行政处罚网址,确定采集字段,网站url:http://218.60.149.124:8088/sgs/xyln/three.htm?nowpage=1&orgid=0&parentid=0&qymc=&xk=0&cf=16&orgname=&gj=1采集字段:行政处罚决定书文号、企业名称、处罚事由、处罚依据、处罚类别1、处罚结果、处罚决定日期、处罚机关;步骤2:获取翻页,如图2,构造循环,循环点击下一页,元素位置://a[text()=’下一页’]步骤3:获取详情页构造循环,利用position()函数范围提取,元素位置://table[@class='list_list1f12m5']/tbody/tr[position()>1]步骤4:提取数据,由于该网站详情页面的表格形式各有不同,表格字段名称也不一致,单纯的xpath顺序路径//body[@class='tc']/div[2]/div[1]/div[2]/center[1]/table[1]/tbody[1]/tr[7]/td[2]无法准确定位到目标字段位置,且元素没有明显的class或id名称,只能通过文本去识别定位,结合following-sibling函数,选取当前节点之后的同级节点,各字段的高级xpath路径如表3,表3格式化后如表4,表4字段名称提取到的数据行政处罚决定书文号甘执法罚决字[2018]2-19-002号企业名称大连万腾置业有限公司处罚事由2018年5月23日大连万腾置业有限公司被...处罚依据《大连市城市道路桥梁设施管理办法》第...处罚类别1警告罚款处罚结果限期3日内改正违法行为并处罚款人民币...处罚决定日期2018-07-11处罚机关大连市甘井子区城市管理行政执法局采集urlhttp://218.60.149.124:8088/sgs//xyln/f...采集时间2018-08-07上述实施例,本发明通过正则表达式和高级xpath配置策略,精准定位数据目标位置,提高数据质量,保证数据的准确性、一致性和完整性。以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本
技术领域
:的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1