提问人:user68142 提问时间:2/19/2009 最后编辑:Karauser68142 更新时间:2/15/2016 访问量:837
从网页中提取含义的完整内容
Extracting meaning full content from web pages
问:
我正在通过使用我的爬虫挖掘网络内容来做一些分析。网页通常在文章正文周围包含杂乱无章的内容(例如广告、不必要的图像和无关的链接),从而分散用户对实际内容的注意力。
据我所知,提取合理的内容是一个难题,因为没有标准来定义新闻故事/博客文章/论坛评论/文章在网页中的实际位置。
我可以找到一些开源解决方案,例如: https://metacpan.org/pod/HTML::ContentExtractor
但我很好奇是否有人处理过这个问题并得到了合理的成功率。这似乎是一个相当普遍的问题,我愿意相信很多专家都在那里。我更喜欢基于JAVA的解决方案,但这不是一个硬性规定。请提供一些意见。我将深表感激。
答:
理想情况下,您会寻找 RSS 提要来获取原始内容。
在HTML中,整体结构和含义没有标准。作者在他们的页面中定义不同的元素。搜索引擎在这个领域投入了大量资金,他们有自己的秘诀来索引内容,并从中获得某种含义和结构,以便进行搜索排名。
在我们拥有早已预言的“语义网”之前,我们只能对任意 HTML 页面的结构和含义做出有根据的猜测。
但是,从理论上讲:
查找标题标签。这些应该给你一个从哪里开始阅读的线索,并希望有一个内容重要性顺序的大纲。
查找通用元素 ID 和类。一个结构良好的网站可能有类似 和 的东西,这与现在的语义一样。此外,还可以了解常见的CMS平台(如WordPress(“post”)或Drupal(“节点”)使用的标准元素名称。通常,这些将用于标记内容。<div id="content">
<div class="article">
最后但并非最不重要的一点是,寻找微格式。
现在有许多项目将这项任务作为其主要目标。
NPM 包 WCE (Javascript) 很有趣,因为它在后台使用了许多其他内容提取模块。
对不起,我本来想早点回答这个问题的,但我很忙。
评论