当然,可以使用任何数量的Python解析器来解析HTML页面,但我很惊讶似乎没有公开的解析脚本来从给定的HTML文档中提取有意义的内容(不包括侧栏、导航等)。我猜这就像收集DIV和P元素,然后检查它们是否具有最少量的文本内容,但我相信一个稳健的实现将包含我没有想到的很多东西。
[编辑] 如果您能将它放入我建议的树形结构中,那么您就可以使用类似于垃圾邮件刺客的类似积分系统。定义一些规则来尝试对信息进行分类。以下是一些示例:
+1 points for every 100 words
+1 points for every child element that has > 100 words
-1 points if the section name contains the word 'nav'
-2 points if the section name contains the word 'advert'
[编辑2] 从可读性来看,它似乎正在完全按照我刚才提出的建议执行!也许可以改进以更好地理解表格?
<p></p>
的正则表达式,或者解析 DOM。Goose是这项任务的库。引用他们的README:
Goose将尝试提取以下信息:
- 文章的主要文本
- 文章的主要图像
- 文章中嵌入的任何Youtube/Vimeo视频
- 元描述
- 元标签