如何用Python实现URL中日期的每日动态变更?
当然可以实现!这是Python里非常常见的动态日期生成需求,我给你两种实用方案,直接就能套进你的代码里:
方案1:获取当前系统日期(适合每日定时运行脚本)
如果你的脚本是每天定时执行(比如用系统的crontab、Windows任务计划),只需要用Python的datetime模块生成YYYYMMDD格式的日期字符串,再动态拼接URL即可:
from urllib.request import Request from datetime import datetime # 生成当前日期的YYYYMMDD格式字符串 today_date = datetime.today().strftime("%Y%m%d") # 动态拼接包含当日日期的URL url = f'https://cex.io/api/ohlcv/hd/{today_date}/BTC/USD' # 创建请求对象 req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
每次脚本运行时,都会自动获取当天的日期替换到URL里,完全符合你“次日自动更新日期”的需求。
方案2:脚本持续运行,每日自动更新日期请求
如果你的脚本需要长期保持运行状态,每天固定时间自动发起新请求,推荐用schedule库来简化定时逻辑:
首先安装schedule(如果还没装的话):
pip install schedule
然后编写带定时任务的代码:
from urllib.request import Request from datetime import datetime import schedule import time def send_daily_request(): # 获取当日日期 today_date = datetime.today().strftime("%Y%m%d") url = f'https://cex.io/api/ohlcv/hd/{today_date}/BTC/USD' req = Request(url, headers={'User-Agent': 'Mozilla/5.0'}) # 这里可以添加发送请求、处理响应的逻辑,比如: # from urllib.request import urlopen # response = urlopen(req) # data = response.read() print(f"已发起日期为{today_date}的请求") # 设定每天早上8点执行任务(可根据需求调整时间) schedule.every().day.at("08:00").do(send_daily_request) # 保持脚本持续运行,检查定时任务 while True: schedule.run_pending() time.sleep(60) # 每分钟检查一次任务状态
额外说明:如果需要获取前一天的日期
有些场景下API要求获取前一天的历史数据,只需要用timedelta减去一天即可:
from datetime import datetime, timedelta # 生成前一天的YYYYMMDD格式字符串 yesterday_date = (datetime.today() - timedelta(days=1)).strftime("%Y%m%d")
内容的提问来源于stack exchange,提问作者Hadi Rajani
相关产品推荐
相关产品推荐

