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

如何用Python自动点击网页的Export to Excel按钮导出多页表格?

实现iadb制裁名单表格的Excel导出方案

针对你需要导出分页表格的需求,这里提供两种可行的Python实现方案:

方法1:用Selenium模拟浏览器点击导出按钮

这种方式完全模拟用户操作,适合不熟悉接口抓包的场景,能直接触发页面的导出逻辑。

  • 先安装依赖:
pip install selenium webdriver-manager
  • 代码示例:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options

# 配置下载路径(可选,替换为你的目标路径)
chrome_options = Options()
prefs = {"download.default_directory": "/Users/yourname/Downloads"}
chrome_options.add_experimental_option("prefs", prefs)

# 初始化浏览器
driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)
driver.get("https://www.iadb.org/en/transparency/sanctioned-firms-and-individuals")

try:
    # 等待导出按钮加载完成并点击
    export_button = WebDriverWait(driver, 15).until(
        EC.element_to_be_clickable((By.XPATH, "//button[contains(text(), 'Export to Excel')]"))
    )
    export_button.click()
    
    # 等待下载完成(手动确认后关闭浏览器)
    input("确认Excel下载完成后,按回车键关闭浏览器...")
finally:
    driver.quit()
  • 关键提示:
    • 如果使用Firefox等其他浏览器,替换对应webdriver和驱动管理包即可
    • 用WebDriverWait等待元素加载,避免因页面延迟导致的元素查找失败

方法2:直接调用导出接口(更高效)

多数网站的导出按钮本质是触发后端接口请求,直接调用接口无需模拟浏览器,速度更快,适合批量或定时任务。

操作步骤:

  1. 打开浏览器开发者工具(F12),切换到「Network」标签
  2. 点击页面的「Export to Excel」按钮,筛选出包含export/excel关键词的请求
  3. 复制请求的URL、请求头和参数,用requests库直接请求
  • 代码示例(需替换为实际抓包得到的接口信息):
import requests

# 替换为抓包得到的真实导出接口URL
export_url = "https://www.iadb.org/api/transparency/sanctions/export-excel"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
    "Referer": "https://www.iadb.org/en/transparency/sanctioned-firms-and-individuals"
}

# 发送请求并保存文件
response = requests.get(export_url, headers=headers)
response.raise_for_status()

with open("sanctioned_firms_list.xlsx", "wb") as f:
    f.write(response.content)

print("Excel文件已成功保存!")
  • 关键提示:
    • 若网站有反爬验证,可能需要添加Cookie等请求头信息(从抓包结果中复制)
    • 部分接口可能包含签名参数,需仔细分析请求逻辑才能正常调用

内容的提问来源于stack exchange,提问作者Giampaolo Levorato

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:02:39