如何提取文章主要内容,python提取html正文
最近学完了这个内容,头发都快掉光了。我写点东西整理一下,可能对以后写论文有用。
1.基于模板的方法
数据提取依赖于html文档的内部结构特征。一些常用的有regular,xpath,selector css,beautifulsoup等等。
优点:针对具体的网页模式,易于实现(可以自己编写,也可以借助Google Developer Tools、xpath helper插件等半自动工具编写),定位准确。
缺点:对于不同的网页模式或网页结构,需要重写模板,维护成本高,健壮性差。
1.1
另一种基于模板的方法是去除同一页面的相同部分,提取差异部分。通用性好,但是会增加页面文字丢失的可能性。比如两篇文章讨论部分相同的部分会被误删,或者保留不同的杂音。类似的算法还有des和roadrunner等。
2.基于统计的方法
从网页标签序列中找出相应的文本序列。因为网页文本和非网页文本的标签长度和数量,然后计算文本密度和链接密度,用统计的方式提取文本。
优点:实现简单,不需要具体的网站分析,通用性好。
缺点:识别准确率有限,版权声明、备注等词语。可以从文本中提取。
3.基于深度学习、机器学习和神经网络的方法
(我也没用过,也不敢说。反正就是牛逼的问题。)
优点:提取准确。
缺点:训练数据庞大,比以前复杂。
4.网页信息抽取开源库
用库中写的方法直接调用,提取标题,文字,图片等。我在python3.5环境下使用过鹅肉提取器和报纸。
优点:方便、快捷、准确。
缺点:为什么更准确?因为我在使用提取特定网页时犯了一个错误!这个网页的文字之间穿插了一些图片,但是goose只提取文字图片来分隔前面的文字,需要改进。
5.基于视觉分割的提取算法。
从用户对网页的视觉感知出发,按照网页中的节点样式对页面进行划分,搜索最底层容器节点的每个文本节点进行合并,计算最底层容器节点的信息量,并与其兄弟节点和父节点的信息量进行比较,从而选择出能够形成文本块的节点。
优点:准确率高。
缺点:计算量太大,而且有些网页过于碎片化,视觉特征复杂,布局不规范,会影响提取。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。