0


Python Selenium 将网页另存下载(包含资源文件(js,css,图片等))

可以使用 Python 中的 Selenium 和 requests 库来实现将网页及其相关资源文件(例如 JavaScript、CSS、图像等)另存为本地文件的功能。下面是一个简单的示例代码,演示了如何使用 Selenium 打开网页、提取页面内容并使用 requests 库下载相关资源文件:
import os
import requests
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

设置 Chrome WebDriver 的路径

chrome_driver_path = "path/to/chromedriver"

设置 Chrome WebDriver 的选项

chrome_options = Options()
chrome_options.add_argument("--headless") # 无头模式运行,不打开浏览器窗口

启动 Chrome WebDriver

service = Service(chrome_driver_path)
driver = webdriver.Chrome(service=service, options=chrome_options)

要保存的网页 URL

url = "https://example.com"

打开网页

driver.get(url)

获取网页内容

html_content = driver.page_source

创建保存目录

save_dir = "saved_page"
if not os.path.exists(save_dir):
os.makedirs(save_dir)

保存网页 HTML 文件

with open(os.path.join(save_dir, "page.html"), "w", encoding="utf-8") as f:
f.write(html_content)

提取页面中的资源文件并下载

elements = driver.find_elements(By.XPATH, "//link[@rel='stylesheet'] | //script | //img | //link[@rel='icon']")
for element in elements:
if element.tag_name == "link":
resource_url = element.get_attribute("href")
elif element.tag_name == "script":
resource_url = element.get_attribute("src")
elif element.tag_name == "img":
resource_url = element.get_attribute("src")
elif element.tag_name == "link":
resource_url = element.get_attribute("href")

if resource_url:
     # 下载资源文件
     resource_response = requests.get(resource_url)
     resource_filename = resource_url.split("/")[-1]
     with open(os.path.join(save_dir, resource_filename), "wb") as f:
         f.write(resource_response.content)

关闭 WebDriver

driver.quit()

参考文档:Python Selenium 将网页另存下载(包含资源文件(js,css,图片等))-CJavaPy


本文转载自: https://blog.csdn.net/weixin_42098295/article/details/139014019
版权归原作者 weixin_42098295 所有, 如有侵权,请联系我们删除。

“Python Selenium 将网页另存下载(包含资源文件(js,css,图片等))”的评论:

还没有评论