开发文章提取器的算法

时间:2017-12-28 15:12:12

标签: html css

我已经开展了一个项目,它将从任何网页中提取主要内容。例如,如果我输入任何新闻文章的URL,它将仅返回文章部分。第一步是获取给定URL的源代码。有很多方法可以做到这一点。获取给定网页的HTML代码后,我会将部分保留在<body>标记内,因为很明显文章会出现在正文内部。

在此之后,我选择每个div元素并检查它包含多少文本。最后,我选择了div,其中包含大部分文字。

我想的其他方式是,对于每个<p>元素,我将检查它的父元素。最后,我将直接选择最多<p>个孩子的div。要了解它,请查看此树Tree of an HTML

现在我知道这些方法是基本的,这也是我提出这个问题的原因。我想知道社区对此的建议。你们都使用什么方法?

1 个答案:

答案 0 :(得分:0)

我喜欢实施自己的“新闻”抓取工具的想法......

一些建议:

  • 检查一些热门网站(例如“纽约时报”)的来源(“点击右键”&gt;“检查”)。搜索他们用来识别html中不同块的常见html对象名称,id或类;例如:带有“故事”或“故事 - 身体”ID的div。
  • 我会使用单词count,但也会使用常用短语词典,这些短语很可能出现在新闻报道中。
  • 我会在'header'和'footer'中搜索块,不包括评论部分或广告(再次,通过搜索对象ID或类名的值)。
  • 从主页面开始抓取,它可能会引用子页面或文章 - 一旦你有了引用(例如标题或文章名称),它将帮助你在子页面中导航。
  • 无论如何,我建议使用java jsoup库 - 它会让你的生活更轻松;将它与类似jquery的选择器一起使用。

古德勒克。