GNE v0.04版更新,支援提取正文圖片與原始碼
阿新 • • 發佈:2020-06-24
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
或者直接從瀏覽器上覆制。
這裡演示如何直接從瀏覽器中複製網頁的原始碼:
- 在 Chrome 瀏覽器中開啟對應頁面,然後開啟開發者工具,如下圖所示:
- 在Elements標籤頁定位到標籤,並右鍵,選擇Copy-Copy OuterHTML,如下圖所示
- 把原始碼儲存為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…。