新聞網頁通用抽取器GNEv0.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: https://github.com/kingname/GeneralNewsExtractor

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章