欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

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

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

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

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

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


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

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


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


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

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