Rumah >pembangunan bahagian belakang >Tutorial Python >【python教程】网页正文及内容图片提取算法

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

黄舟
黄舟asal
2017-02-07 16:16:562614semak imbas

抓取单个网站网页内容时通常采用正则匹配的方式,但不同网站之间结构千奇百怪,很难用统一的正则表达式进行匹配。《基于行块分布函数的通用网页正文抽取算法》的作者总结了一般从网页中提取文章正文的方法,提出基于行块分布的正文抽取算法,并给出了 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时保留标签的内容:


983.png

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


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn