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

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

2024-08-10 22:08:37 前端知识 前端哥 547 436 我要收藏

可以使用 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://www.qianduange.cn//article/15194.html
标签
selenium
评论
发布的文章

Jquery (第三章笔记)

2024-08-18 00:08:37

jquery实现tab切换简单好用

2024-08-18 00:08:35

jQuery Cookie 插件使用教程

2024-08-14 22:08:01

jQuery的DOM操作

2024-08-18 00:08:21

echarts显示中国地图

2024-08-18 00:08:11

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!