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

如何循环指定日期范围批量抓取汇率数据并存入Excel?

实现汇率数据抓取的日期循环并保存到Excel

步骤1:生成目标日期区间的日期序列

用pandas.date_range生成2021年7月1日至2022年6月30日的所有日期,确保输出格式和你接口/页面要求的exchangeDate格式一致(比如YYYY-MM-DD)。

import pandas as pd

# 生成日期序列,freq='D'表示覆盖每天
date_range = pd.date_range(start='2021-07-01', end='2022-06-30', freq='D')
# 转换成字符串格式,匹配你的exchangeDate参数需求
date_list = [date.strftime('%Y-%m-%d') for date in date_range]

步骤2:封装单日期抓取逻辑为函数

把你已有的单日期抓取代码封装成函数,传入日期参数,返回该日期的汇率数据(建议返回DataFrame格式,方便后续合并)。示例框架如下:

import requests
from bs4 import BeautifulSoup

def fetch_exchange_rate(date):
    # 替换成你实际的请求URL,将exchangeDate参数替换为传入的date
    url = f"https://your-target-url.com/exchange?date={date}"
    # 若有反爬,记得添加headers,比如User-Agent
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'}
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    
    # 替换成你已有的解析逻辑,提取汇率数据
    # 示例:假设解析后得到字典格式的数据
    rate_data = {
        '日期': date,
        '美元兑人民币': ...,  # 你的实际解析结果
        '欧元兑人民币': ...
    }
    
    # 转换成DataFrame返回,方便后续合并
    return pd.DataFrame([rate_data])

步骤3:循环遍历日期并收集数据

初始化一个空的DataFrame,遍历每个日期,调用抓取函数,把结果追加到总数据中。同时处理可能的请求失败情况:

import time

# 初始化总数据容器
all_exchange_data = pd.DataFrame()

for date in date_list:
    try:
        print(f"正在抓取{date}的汇率数据...")
        daily_data = fetch_exchange_rate(date)
        # 追加到总数据
        all_exchange_data = pd.concat([all_exchange_data, daily_data], ignore_index=True)
        # 添加延迟,避免请求过于频繁触发反爬
        time.sleep(1)
    except Exception as e:
        print(f"抓取{date}数据失败:{str(e)}")
        continue

步骤4:保存数据到Excel

最后把合并后的总数据保存到Excel文件:

all_exchange_data.to_excel('202107-202206汇率数据汇总.xlsx', index=False)
print("所有数据已成功保存到Excel!")

额外提示

  • 如果目标网站对请求频率限制严格,可以调整time.sleep()的时长,或者使用代理IP池。
  • 若遇到节假日无数据的情况,函数会返回空DataFrame,合并时会自动忽略,不影响最终结果。

内容的提问来源于stack exchange,提问作者tony michael

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:15:36