一种网页内容自动采集方法涉及互联网数据处理技术领域

优采云 发布时间: 2021-06-26 01:06

  一种网页内容自动采集方法涉及互联网数据处理技术领域

  一种用于网页内容的自动采集 方法

  [技术领域]

  [0001] 本发明公开了一种网页内容自动采集的方法,涉及互联网数据处理技术领域。

  [背景技术]

  [0002] 随着科学技术的进步,互联网信息进入了一个爆炸式的多元化时代。互联网已经成为一个巨大的信息库。互联网资讯采集可以让你了解更多资讯采集、资源整合、资金等。在利用率和人力投入方面节省大量资源,广泛应用于行业门户网站信息采集、竞争对手情报数据采集、网站内容体系建设、垂直搜索、舆情监测、科学研究和其他领域。

  [0003]以新闻网页为例。常规新闻网页内容采集程序在工作时,依赖于为每个不同的新闻站点手动提供页面分析模板。格式定义文件定义了新闻网页中的所有有效数据。项目的 xpath,例如新闻标题、正文、作者和发布时间。为新闻站点维护一个页面分析模板很无聊,采集程序覆盖的站点越多,工作量就越大。而且,如果新闻网站被改版,原来的页面解析模板文件会“过期”,需要重新排序,但往往很难及时找到并重新排序。因此,一旦一个新闻网站被修改,就必须被发现,这些新闻网站的数据就会出现异常甚至丢失。

  [0004] 现有新闻网站由于格式多样​​化、数据量爆炸式膨胀、监控严格等原因,采集难度较大,主要表现在:

  [0005]1、需要手动配置新闻页面分析模板,制定相应信息的xpath。

  [0006]2、网站信息量大,规则难以统一制定。一般每个站点都会单独配置分析模板,工作量大;

  [0007]3、带来了大量的规则维护工作,以及网站改版后规则实时更新的问题;

  [0008]4、如果不能及时发现新闻站点改版,那么这些新闻站点采集的数据就会出现异常。

  [0009] 现有的常规新闻网页采集需要针对所有站点进行定制和分析。所有的定制和后续的维护工作都是繁琐乏味的,如果不能及时适应网站改版,就不会有效@对于k15@data,这些问题对于大型采集系统来说尤为突出,而新的急需技术手段替代人工维护。

  [发明内容]

  [0010] 本发明要解决的技术问题是针对现有技术的缺陷,提供一种自动采集网页内容的方法,可以支持多种类型的网页通用采集器一种可扩展的方式,每个网页通用采集器使用不同的算法来实现页面通用采集,算法是从网页的共性中抽象出来的。

  [0011] 本发明采用以下技术方案来解决上述技术问题:

  [0012]一种自动采集网页内容的方法,具体步骤包括:

  [0013]步骤一、根据网站网页匹配的采集器集合的需要进行内容采集网页网址搜索;

  [0014] 步骤二、当有匹配的采集器时,执行采集器获取网页内容;当没有匹配的采集器时,找到不匹配的采集器集合,从不从匹配的采集器集合中选择采集器并执行采集器获取网页内容;

  [0015]三、采集步骤成功后,输出网页内容的采集结果;当采集不成功时,返回步骤2,再次选择采集器。

  [0016] 作为本发明进一步优选的方案,在第二步中,采集器的识别过程包括:

  [0017]1、访问目标网页,获取页面字节流;

  [0018]2、将字节流解析成dom对象,将dom中的所有Elements对应到html标签,并记录html标签的所有属性和值;

  [0019]3、通过dom对象中的title节点来确认title的范围,这里title节点的Xpath为://HTML/HEAD/TITLE;

  [0020] 通过搜索h节点比较title节点,查看网页的titlexpath,其中h节点的Xpath为://B0DY///*[name O ='H*'];

  [0021] 当title节点的值收录h节点的值时,h节点为网页的标题节点,h节点的xpath为网页标题的xpath;

  [0022]4、以h节点为起点寻找发布时间节点;

  [0023]5、以h节点为起点,扫描h节点的祖父节点对应的所有子节点,找到文本值最长的节点,确定为网页正文节点;

  [0024]6、 确认作者节点,使用“作者节点特征匹配”方法,使用“作者节点特征匹配”方法扫描h节点的父节点的所有子节点,并检查是否匹配子节点的文本值符合作者节点的特征。如果匹配,确认子节点为作者节点;

  [0025]7、根据页面标题、发布时间节点、正文节点和作者节点,识别出与页面内容匹配的米机设备。

  [0026] 作为本发明进一步优选的方案,当在步骤6中使用“作者节点特征匹配”方法没有成功确认作者节点时,通过“位置猜测”方法确认作者节点:

  [0027] 从发布节点开始,分析发布节点在其兄弟节点中的位置,确定作者节点:

  [0028]a.如果发布节点有多个兄弟节点,且发布节点排在多个节点的前一半,则确定发布节点的下一个兄弟节点为作者节点;

  [0029] b.如果发布节点有多个兄弟节点,并且发布节点排在多个节点的一半之后,则确定发布节点的前一个兄弟节点为作者节点。

  [0030] 作为本发明进一步优选的方案,步骤4中确定发布时间节点的具体方法为:

  [0031] 从h节点的所有子节点中搜索时间节点,如果找到,则完成发布时间节点的确认;

  [0032]否则,继续从节点h的所有兄弟节点及其所有子节点中寻找时间节点。如果找到,则完成发布时间节点的确认。

  [0033] 作为本发明进一步优选的方案,步骤4中发布时间节点的确认算法具体为:

  [0034] 使用常见时间格式的正则表达式来匹配节点的值。如果匹配成功,则确认该节点为发布时间节点。

  [0035]作为本发明进一步优选的方案,步骤5中确定网页文本节点的过程还包括按照噪声节点标准对所有节点进行去噪处理,剔除不合理的节点。具体节点标准为:

  [0036](I)其中节点的值收录JavaScript特征节点;

  [0037](2)凡节点的值收录小于设定阈值的标点符号个数。

  [0038] 作为本发明进一步优选的方案,步骤6中判断作者节点的方法包括:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线