采集文章内容(任意网页文章内容提取(采集)算法标签:采集程序开发)

优采云 发布时间: 2021-12-27 03:03

  采集文章内容(任意网页文章内容提取(采集)算法标签:采集程序开发)

  任意网页文章内容提取(采集)算法标签:采集程序开发 2014-04-09 19:10 周三做过采集的都知道,要采集一个网站,必须根据网站结构写一个规律。这是最传统的方式,这种方式的优点是采集精度可以非常好,可以采集任何结构的网站,但是这种方式也非常有限。一套规则只能在一个网站上使用,当网站结构发生变化时需要更新。分析,调整规则,很被动。我一直在想,如果程序可以像人一样被识别,它可以采集

任何网站的正文内容。我在网上找了下,类似的算法有很多,主要有以下几种:1、 基于Dom1),使用开源包HTMLTidy对HTML进行处理,纠正错误或不规范;2),基于更规范的HTML构建Dom树,然后递归遍历Dom树,对比识别各种非文本信息,包括广告、链接组和非重要节点信息;广告信息去除:需要建立一个经常更新的广告服务器列表;链接组去除:统计网页中收录

的链接数和非链接词数3),去除非文本信息后,Dom树中剩余的内容为文本信息,即直接从剩余的树节点中提取。有问题:Dom树的建立需要高度结构良好的HTML,并且树的建立和遍历在时间和空间上都是复杂的。树的遍历方法也会因 HTML 标签的不同而有所不同。

  2、基于网页分割查找正文块1)。网页正确切分后,简化正文提取工作,判断正文块;2),分割是基于HTML标签中的分隔线和一些视觉信息(如文字颜色、字体大小、文字信息等)。存在的问题是:不同网站的HTML样式差异很大,没有统一的分词方法,通用性难以保证。3、基于标签窗口1),先取出文章标题;2),两个标签和其中收录

的文本一起称为标签窗口(例如text in text就是标签窗口3),文章标题和每个标签中的文本的分词窗口; 4), 计算每个标签窗口的标题序列和文本序列中的词的距离L,如果L小于一个阈值,则将标记窗口中的文本视为正文。有一个问题:标签窗口的概念很好,但是必须先对每个标签窗口的文本进行切分,计算词序的距离。效率如何?4、 基于数据挖掘或机器学习使用文本分类、聚类、隐马模型、数据挖掘等。有问题:简单的问题很复杂。5、基于逻辑行和最大允许距离的网页正文提取1),考虑到人们在编写网页时的一些启发式规则,考虑到文本的物理位置会非常接近;2),做如下推论:每一行 HTML 代表一个完整的语义;身体代码在物理位置上会非常接近;正文代码的大部分行都是文本;一行body代码中非HTML标签的数量较多;一行正文代码中超链接的长度所占的百分比不会很大;3),任何符合上述推论的代码行都被认为是正文行;有一个问题:正文在物理位置上确实很近,但是标题长链接组和长文章评论信息也满足上述条件。一行正文代码中超链接的长度所占的百分比不会很大;3),任何符合上述推论的代码行都被认为是正文行;有一个问题:正文在物理位置上确实很近,但是标题长链接组和长文章评论信息也满足上述条件。一行正文代码中超链接的长度所占的百分比不会很大;3),任何符合上述推论的代码行都被认为是正文行;有一个问题:正文在物理位置上确实很近,但是标题长链接组和长文章评论信息也满足上述条件。

  我们还是要靠html标签来判断。6、 基于行块分布函数的一般网页正文提取:线性时间,无DOM树,与HTML标签无关。首次将网页文本提取的问题转化为页面的行块分布函数。这种方法不需要建立Dom Trees,不要厌烦病态的HTML(其实和HTML标签无关)。通过线性时间建立的线块分布函数图,可以直接准确定位网页正文。同时采用统计和规则相结合的方法来处理通用性问题。笔者认为,简单的事情,永远应该是解决这个永恒真理的最简单的方法。整个算法实现代码不到一百行。但是数量不是太多,是在规律中。项目网址:以上算法都是第六个算法的分析论文。这个算法是我认为最好的算法,效率快,实现简单。但也有缺点。这个算法主要是针对文章的采集,也就是文本内容较多的网页,因为原理是对网页进行打标签,然后分块。如果文本较多,则将其视为主要文本。过程中发现以下问题: 1、无法采集图片;2、 会错误地采集

链接聚合块来制作正文,例如:相关文章、文章指南、并且这些地方的标题文字有时会超过正文;< @3、 没有标题识别。对代码进行简单修复即可解决上述问题:1、保存图片标签,改用[img=x];2、保存链接文本,使用[a=x]代替链接块;3、 标题识别相对容易,可以从标题中获取,然后做一个简单的过滤。

  修改后的程序匹配结果比原算法准确很多,还有很大的调整空间。作者在论文中也解释了这一点。目前,该程序并不完全准确,某些类型的网站仍然不适用,例如相册(纯图片)和电影(有线链接)。应用实例:网站内容有点乱,基本不可用,或者垃圾网站。相信有些朋友会在百度上找到类似的网站,但那些网站可能不会这样做,也可能是纯粹的关键词堆积。相信在进一步的改造下可以实现更精准的匹配,效果会越来越好!修复完美,到时候代码分享一下。请关注我的博客拖鞋站(),

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线