MHTML即MIME HTML,歸檔網頁,將樣式和腳本全部集成到一個文件中。
Chrome Devtools Protcal API中包含了Page.captureSnapshot方法,可以獲取到網頁的mhtml格式內容。
我們使用Selenium的driver.execute_cdp_cmd()執行該命令后,將結果寫入文件即可,示例代碼如下。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.qq.com/')
# 1. 執行 Chome 開發工具命令,得到mhtml內容
res = driver.execute_cdp_cmd('Page.captureSnapshot', {})
# 2. 寫入文件
with open('qq.mhtml', 'w', newline='') as f: # 根據5樓的評論,添加newline=''
f.write(res['data'])
driver.quit()
保存結果,如下圖,可以使用瀏覽器打開。
更多的cdp方法可以參考 (chrome-devtools-protocol)[https://chromedevtools.github.io/devtools-protocol/]