文章内容采集(如何采集一个网站,采集任意网站正文内容了??)
优采云 发布时间: 2021-08-30 12:13文章内容采集(如何采集一个网站,采集任意网站正文内容了??)
做过采集的人都知道,如果你想要采集一个网站,你必须根据网站结构写一个正则规则。这是最传统的方法。这种方式的好处是采集精度可以做到很详细,可以采集网站的任何结构,但是这种方式也很有限。一套规则只能用于一个网站,当网站结构变化时需要重新分析。调整规则很被动。
我一直在想,如果程序可以像人一样被识别,它可以是采集any网站text 内容。我在网上找的,已经有很多类似的算法了,主要有以下几种:
1、基于Dom的树
1),使用开源包HTML Tidy处理HTML并纠正错误或不规范;
2),基于更规范的HTML构建Dom树,然后递归遍历Dom树,对比识别各种非文本信息,包括广告、链接组、非重要节点信息;广告信息去除:需要建立定期更新的广告服务器列表;链接组去除:计算网页中收录的链接数与非链接词数的比值;
3),去掉非文本信息后,Dom树中剩余的内容就是文本信息,直接来自剩余的树节
从点中提取。
存在问题:Dom树的建立需要高水平的格式良好的HTML,以及树的建立和时空遍历
复杂度高,遍历树的方法也因HTML标签而异。
2、基于页面分割查找正文块
1)。网页正确切分后,文本提取简化为文本块的判断;
2),切分就是在HTML标签和一些视觉信息(如文字颜色、字体大小、文字信息等)中使用分隔符。
有一个问题:不同的网站HTML样式差异很大,没有统一的切分方法,难以保证通用性。
3、基于标签窗口
1),先取出文章title;
<p>2),这两个标签和其中收录的文本一起称为标签窗口(例如text in text就是标签窗口中的文本),取出标签窗口中的所有文本;