当前位置:Gxlcms > Python > 【python教程】网页正文及内容图片提取算法

【python教程】网页正文及内容图片提取算法

时间:2021-07-01 10:21:17 帮助过:67人阅读

抓取单个网站网页内容时通常采用正则匹配的方式,但不同网站之间结构千奇百怪,很难用统一的正则表达式进行匹配。《基于行块分布函数的通用网页正文抽取算法》的作者总结了一般从网页中提取文章正文的方法,提出基于行块分布的正文抽取算法,并给出了 PHP 、Java 等实现。这一算法的主要原理基于两点:1、正文区密度:在去除HTML中所有tag之后,正文区字符密度更高,较少出现多行空白;2、行块长度:非正文区域的内容一般单独标签(行块)中较短。算法步骤如下:

1、去除所有tag,包括样式、Js脚本内容等,但保留原有的换行符\n

980.jpg

2、将网页内容按行分割,定义行块 $block_i$ 为第 $[i, i + blockSize]$ 行文本之和并给出行块长度基于行号的分布函数:

981.png


3、正文出现在最长的行块,截取两边至行块长度为 0 的范围:

982.png


4、如果需要提取正文区域出现的图片,只需要在第一步去除tag时保留<img>标签的内容:


983.png

以上就是【python教程】网页正文及内容图片提取算法的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!

人气教程排行