如何使用 Python 将页面下载为一个文件 (MHTML)?

问题描述 投票:0回答:1

我想将页面下载为 .mhtml 中的单个文件,就像使用 Chrome 完成的那样:另存为 -> 另存为单个文件

我尝试过“pywebcopy”库,但它不起作用。它会下载 HTML 和一个包含所有可下载内容的文件夹。

我也尝试过使用 Selenium webdriver,但我只能下载 HTML。

是否可以使用Selenium在窗口中打开网站然后像手动完成一样下载?

谢谢。

python selenium-webdriver web-scraping mhtml
1个回答
0
投票

是的,你可以做到。

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
import time


chrome_options = Options()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(service=Service('/path/to/chromedriver'), options=chrome_options)

try:
    url = 'https://example.com'
    driver.get(url)
    time.sleep(5)

    # Execute JavaScript to trigger saving as .mhtml
    driver.execute_script('chrome.send(\'savePageAsMHTML\', [0, {}, function(){}]);')

    time.sleep(5)

finally:
    driver.quit()
© www.soinside.com 2019 - 2024. All rights reserved.