【python教學】網頁正文及內容圖片擷取演算法

黄舟
發布: 2017-02-07 16:16:56
原創
2552 人瀏覽過

抓取單一網站網頁內容時通常採用正規匹配的方式,但不同網站之間結構千奇百怪,很難用統一的正規表示式進行匹配。 《基於行塊分佈函數的通用網頁正文抽取演算法》的作者總結了一般從網頁中提取文章正文的方法,提出基於行塊分佈的正文抽取演算法,並給出了 PHP 、Java 等實現。此演算法的主要原理基於兩點:1.正文區密度:在去除HTML中所有tag之後,正文區字元密度較高,較少出現多行空白;2、行塊長度:非正文區域的內容一般單獨標籤(行塊)中較短。演算法步驟如下:

1、去除所有tag,包括樣式、Js腳本內容等,但保留原有的換行符n

【python教學】網頁正文及內容圖片擷取演算法

2、將網頁內容按行分割,定義行塊$block_i$ 為第$[i, i + blockSize]$ 行文字總和並給出行塊長度基於行號的分佈函數:

【python教學】網頁正文及內容圖片擷取演算法


3、正文出現在最長的行塊,截取兩邊至行塊長度0 的範圍:

【python教學】網頁正文及內容圖片擷取演算法


4、如果需要提取正文區域出現的圖片,只需要在第一步去除tag時保留【python教學】網頁正文及內容圖片擷取演算法標籤的內容:


就是【python教學】網頁正文及內容圖片擷取演算法的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)! 【python教學】網頁正文及內容圖片擷取演算法

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!