GeneralNewsExtractor
如下簡稱GNE
是一個新聞網頁通用抽取器,可以在不指定任何抽取規則的狀況下,把新聞網站的正文提取出來。html
咱們來看一下它的基本使用方法。python
使用 pip 安裝:git
pip install --upgrade git+https://github.com/kingname/GeneralNewsExtractor.git
複製代碼
固然你也可使用pipenv
安裝:github
pipenv install git+https://github.com/kingname/GeneralNewsExtractor.git#egg=gne
複製代碼
GNE 如今不會,未來也不會提供網頁請求的功能,因此你須要自行想辦法獲取通過渲染之後的
網頁源代碼。你可使用Selenium
或者Pyppeteer
或者直接從瀏覽器上覆制。瀏覽器
這裏演示如何直接從瀏覽器中複製網頁的源代碼:bash
編寫以下代碼:工具
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
字段就是正文中的圖片。spa
那麼怎麼返回正文源代碼呢?只須要增長一個參數with_body_html=True
便可:code
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…。