python-Web抓取-如何识别网页上的主要内容
给定一个新闻文章网页(来自任何主要新闻来源,例如Times或Bloomberg),我想确定该页面上的主要文章内容,并排除其他杂项元素,例如广告,菜单,侧边栏,用户评论。
有什么通用的方法可以在大多数主要新闻网站上使用?
有什么好的数据挖掘工具或库? (最好是基于python的)
9个解决方案
29 votes
有很多方法可以做到这一点,但是,任何方法都不会永远有效。 这是两个最简单的方法:
如果它是一组已知的有限网站:在您的抓取工具中,将给定网站的每个url从普通url转换为打印url(无法真正在各个站点之间推广)
使用arc90可读性算法(参考实现在javascript中)[http://code.google.com/p/arc90labs-readability/]。 该算法的简短版本是在其中查找带有p标签的div。 它不适用于某些网站,但总体来说还不错。
gte525u answered 2020-07-28T23:54:53Z
8 votes
Diffbot提供了一个免费的(10.000 urls)API来执行此操作,不知道您是否正在寻找这种方法,但是它可能会帮助某人[http://www.diffbot.com/]
JordanBelf answered 2020-07-28T23:55:13Z
8 votes
不久前,我为此任务编写了一个简单的Python脚本。 它使用启发式方法根据文本块在DOM中的深度将它们组合在一起。 然后,将文本最多的组作为主要内容。 它不是完美的,但是通常对于新闻站点来说效果很好&#x