解决方案:一种网页内容自动采集方法
优采云 发布时间: 2020-09-04 18:13一种用于Web内容的自动采集方法
一种用于Web内容的自动采集方法
[技术领域]
[0001]本发明公开了一种网页内容自动采集方法,涉及互联网数据处理技术领域。
[背景技术]
[0002]随着科学技术的发展,互联网信息进入了一个爆炸性和多元化的时代。互联网已成为一个庞大的信息库。 Internet信息采集可让您了解有关信息采集,资源整合和资金的更多信息。它在利用率和人力投入方面节省了大量资源,并广泛用于工业门户网站网站信息采集,竞争对手情报数据采集,网站内容系统构建,垂直搜索,民意监测,科学研究和其他字段。
[0003]以新闻网页为例。当例行新闻网页内容采集程序运行时,它依赖于为每个不同新闻站点手动提供页面分析模板。格式定义文件定义新闻网页中所有有效数据。项目的xpath,例如新闻标题,正文,作者和出版时间。维护新闻站点页面分析模板非常无聊,并且如果采集程序覆盖更多站点,则工作量将更大。此外,如果新闻站点被修改,则原创页面解析模板文件也将“过期”并且需要重新排序,但是通常很难及时找到和重新排序。结果,新闻站点一旦被修改,必须在发现之前被发现,这些新闻站点的数据将异常甚至丢失。
[0004]由于格式的多样化,数据量的爆炸性增长,严格的监视等,现有新闻网站的采集更加困难,主要表现在:
[0005] 1、有必要手动配置新闻页面分析模板并制定相应信息的xpath。
[0006] 2、 网站捕获了大量信息,并且规则难以统一制定。通常,为每个站点分别配置分析模板,这需要大量工作;
[0007] 3、带来了很多规则维护工作,以及站点修订后需要实时更新规则的问题;
[0008] 4、如果无法及时找到新闻站点修订,则采集个新闻站点的数据将异常。
[0009]现有的常规新闻网页采集都需要为所有网站自定义分析模板,所有自定义和后续维护工作都是乏味而乏味的,如果您不能及时适应网站修订,它将对于k1数据无效,这些问题对于*敏*感*词*采集系统尤为突出,因此迫切需要新的技术方法来代替人工维护。
[发明内容]
[p10] [0010]鉴于现有技术的缺陷,本发明要解决的技术问题是提供一种用于Web内容的自动采集方法,该方法以可扩展的方式支持多种类型的网页[ k0],每个网页通用采集器都是用不同的算法来实现页面通用采集,并且该算法是从网页的共同特征中抽象出来的。
[0011]本发明采用以下技术方案来解决上述技术问题:
[0012]一种自动采集个Web内容的方法,具体步骤包括:
[0013]步骤一、根据需要,搜索内容采集的网页URL,以找到与网页网站相匹配的采集器集合;
[0014]步骤二、当存在匹配的采集器时,执行采集器获取网页内容;当没有匹配的采集器时,找到不匹配的采集器集合,切勿从匹配的采集器集合中选择采集器并执行采集器以获得网页内容;
[0015]步骤三、 采集成功后,输出Web内容的采集结果;如果采集不成功,请返回步骤2并再次选择采集器。
[0016]作为本发明的另一优选方案,在第二步骤中,采集器的识别过程包括:
[0017] 1、访问目标网页并获取页面字节流;
[0018] 2、将字节流解析为dom对象,将dom中的所有元素与html标签对应,并记录html标签的所有属性和值;
[0019] 3、通过dom对象中的标题节点确认标题范围,其中标题节点的Xpath为:// HTML / HEAD / TITLE;
[0020]通过搜索h节点并比较标题节点来检查网页的标题xpath,其中h节点的Xpath为:// B0DY // * [name O ='H *'];
[0021]当标题节点的值收录h节点的值时,h节点是网页的标题节点,h节点的xpath是网页标题的xpath;
[0022] 4、以h节点为起点来查找发布时间节点;
[0023] 5、以h节点为起点,扫描与h节点的祖父母节点对应的所有子节点,找到文本值最长的节点,并将其确定为网页正文节点;
[0024] 6、确认作者节点,使用“作者节点特征匹配”方法使用“作者节点特征匹配”方法扫描h节点的父节点的所有子节点,并检查是否匹配的子节点的文本值符合作者节点的特征。如果匹配,请确认子节点是作者节点;
[0025] 7、根据页面标题,发布时间节点,文本节点和作者节点,标识与页面内容匹配的MiJi设备。
[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中判断作者节点的方法包括: