You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将网页截图存入Python DataFrame并导出为Excel文档?

实现方案

步骤1:安装依赖库

先确保安装所需工具包:

pip install pandas openpyxl pillow

步骤2:修改截图逻辑,同步收集数据到DataFrame

在现有截图代码基础上,记录每个URL的处理状态、截图路径,并存入DataFrame:

import pandas as pd
from selenium import webdriver
from time import sleep
import os

# 替换为你的URL列表
testurl = ["https://example.com", "https://google.com"]

driver = webdriver.Chrome()
driver.maximize_window()

# 初始化数据存储列表
record_list = []

for index, url in enumerate(testurl):
    screenshot_name = f"screenshot_{index}.png"
    status = "处理成功"
    try:
        driver.get(url)
        sleep(3)
        driver.get_screenshot_as_file(screenshot_name)
    except Exception as e:
        status = f"处理失败:{str(e)}"
        screenshot_name = ""
        print(f"{url} 截图出错: {e}")
    # 收集单条记录
    record_list.append({
        "目标URL": url,
        "截图文件名": screenshot_name,
        "处理状态": status
    })

driver.quit()

# 转换为DataFrame
df = pd.DataFrame(record_list)

步骤3:将截图插入Excel并导出

直接用pandas导出只会保存文本,要在Excel中显示截图,需要用openpyxl手动插入图片:

from openpyxl import load_workbook
from openpyxl.drawing.image import Image as OpenpyxlImage

# 先导出基础文本数据到Excel
excel_file = "网页截图汇总.xlsx"
df.to_excel(excel_file, index=False, engine="openpyxl")

# 加载Excel文件,开始插入图片
wb = load_workbook(excel_file)
ws = wb.active

# 调整列宽和行高,适配截图显示
ws.column_dimensions['D'].width = 30
for row in range(2, len(df)+2):
    ws.row_dimensions[row].height = 120

# 遍历每行插入对应截图
for row_idx, row_data in df.iterrows():
    img_path = row_data["截图文件名"]
    if img_path and os.path.exists(img_path):
        # 插入到第4列(D列),行号为row_idx+2(Excel表头占第1行)
        img = OpenpyxlImage(img_path)
        # 调整图片尺寸,避免超出单元格
        img.width = 250
        img.height = 180
        ws.add_image(img, f'D{row_idx+2}')

# 保存最终Excel文件
wb.save(excel_file)
print(f"汇总文件已生成:{excel_file}")

额外说明

  • 若不需要保留本地PNG文件,可改用driver.get_screenshot_as_png()获取字节流直接插入Excel,但会大幅增加文件体积,建议保留本地截图文件
  • 可以根据需求调整图片大小、单元格尺寸,优化显示效果

内容的提问来源于stack exchange,提问作者David Wallace

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:05:15