1. 程式人生 > 程式設計 >GNE v0.04版更新,支援提取正文圖片與原始碼

GNE v0.04版更新,支援提取正文圖片與原始碼

GeneralNewsExtractor以下簡稱GNE是一個新聞網頁通用抽取器,能夠在不指定任何抽取規則的情況下,把新聞網站的正文提取出來。

我們來看一下它的基本使用方法。

安裝 GNE

使用 pip 安裝:

pip install --upgrade git+https://github.com/kingname/GeneralNewsExtractor.git
複製程式碼

當然你也可以使用pipenv安裝:

pipenv install git+https://github.com/kingname/GeneralNewsExtractor.git#egg=gne
複製程式碼

獲取新聞網頁原始碼

GNE 現在不會,將來也不會提供網頁請求的功能,所以你需要自行想辦法獲取經過渲染以後的

網頁原始碼。你可以使用Selenium或者Pyppeteer或者直接從瀏覽器上覆制。

這裡演示如何直接從瀏覽器中複製網頁的原始碼:

  1. 在 Chrome 瀏覽器中開啟對應頁面,然後開啟開發者工具,如下圖所示:

  1. 在Elements標籤頁定位到標籤,並右鍵,選擇Copy-Copy OuterHTML,如下圖所示

  1. 把原始碼儲存為1.html

提取正文資訊

編寫如下程式碼:

from gne import GeneralNewsExtractor

with open('1.html') as f:
    html = f.read()

extractor = GeneralNewsExtractor()
result = extractor.extract(html)
print(result)
複製程式碼

執行效果如下圖所示:

這次更新了什麼

在最新更新的 v0.04版本中,開放了正文圖片提取功能,與返回正文原始碼功能。其中返回圖片 URL 的功能在上面已經演示了,結果中的images欄位就是正文中的圖片。

那麼怎麼返回正文原始碼呢?只需要增加一個引數with_body_html=True即可:

from gne import GeneralNewsExtractor

with open('1.html') as f:
    html = f.read()

extractor = GeneralNewsExtractor()
result = extractor.extract(html,with_body_html=True
) print(result) 複製程式碼

執行效果如下圖所示:

返回結果中的body_html就是正文的 html 原始碼。

關於 GNE 的深入使用,可以訪問GNE 的Github: github.com/kingname/Ge…