Selenium保存網頁為mhtml方法


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/]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM