设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

用于从HTML页面中提取内容(不包括导航)的python方法

发布时间:2020-12-31 03:50 所属栏目:34 来源:网络整理
导读:当然,HTML页面可以使用任意数量的 python解析器进行解析,但我很惊讶,似乎没有任何公共解析脚本可以从给定的HTML doc中提取有意义的内容(不包括侧边栏,导航等) . 我猜这是收集DIV和P元素,然后检查它们是否有最少量的文本内容,但我确信一个可靠的实现将包含许

当然,HTML页面可以使用任意数量的 python解析器进行解析,但我很惊讶,似乎没有任何公共解析脚本可以从给定的HTML doc中提取有意义的内容(不包括侧边栏,导航等) .

我猜这是收集DIV和P元素,然后检查它们是否有最少量的文本内容,但我确信一个可靠的实现将包含许多我没有想到的东西.

解决方法

试试用于 Python的 Beautiful Soup库.它有非常简单的方法从html文件中提取信息.

试图从网页中一般性地提取数据需要人们以类似的方式编写他们的页面……但是有几乎无数种方式来传达看起来相同的页面,更不用说你可以传达相同信息的所有组合.

您是否尝试提取特定类型的信息或其他目标?

您可以尝试提取“div”和“p”标记中的任何内容,并比较页面中所有信息的相对大小.那么问题是人们可能将信息分组为’div’和’p’的集合(或者至少他们在编写好的html时会这样做!).

也许如果你形成了一个信息如何相关的树(节点将是’p’或’div或其他什么,每个节点将包含相关的文本),你可以做一些分析来识别最小的’p’或’ div’包含似乎是大多数信息……?

[编辑]也许如果你能把它放到我建议的树形结构中,你可以使用类似的积分系统来发送垃圾邮件刺客.定义一些尝试对信息进行分类的规则.一些例子:

+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'

如果你有很多低得分规则,当你找到更多相关的部分时,我会认为这可以演变成一种相当强大而强大的技术.

[EDIT2]从可读性的角度来看,它似乎完全正是我刚刚建议的!也许可以改进以更好地尝试和理解表格?

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读