当前位置: 首页 > news >正文

python包重要修改

akshare\stock_feature\stock_hist_em.py

源码:

    r = requests.get(url, params=params, timeout=timeout)
    data_json = r.json()

修改后:

import time
def fetch_data_with_retries(url, params=None, retries=10, delay=2, timeout=10):
    """
    尝试多次请求,直到成功或达到最大重试次数。
    :param url: 请求的URL地址
    :param params: 请求参数
    :param retries: 最大重试次数
    :param delay: 每次重试之间的等待时间(秒)
    :param timeout: 请求超时时间(秒)
    :return: 返回JSON数据
    """
    for attempt in range(retries):
        try:
            r = requests.get(url, params=params, timeout=timeout)
            r.raise_for_status()  # 如果响应码不是200,则抛出异常
            data_json = r.json()  # 获取返回的JSON数据
            return data_json
        except requests.exceptions.RequestException as e:
            print(f"请求失败 ({attempt + 1}/{retries}): {e}. 正在重试...")
            time.sleep(delay)  # 等待一段时间后重试
    # 如果所有尝试都失败了,抛出异常
    raise Exception("最大重试次数已超过,请检查网络连接或API服务。")

data_json = fetch_data_with_retries(url, params=params, retries=10, delay=3)

相关文章:

  • 如何把windows机器作为SSH客户端免密登录
  • Markdown使用方法文字版解读
  • 数据表的存储过程和函数介绍
  • OpenBMC:BmcWeb app.run
  • tortoiseGit的使用和上传拉取
  • 使用docker开发镜像编译
  • pytest下allure
  • 医院安全(不良)事件上报系统源码,基于Laravel8开发,依托其优雅的语法与强大的扩展能力
  • 更换node版本
  • LLM:Agent
  • 【多模态处理篇四】【DeepSeek跨模态检索:联合嵌入空间构建方案 】
  • Ruby Dir 类和方法详解
  • UE求职Demo开发日志#35、36 搬boss和主线任务自动接逻辑
  • 【3.6JavaScript】JavaScript数组对象
  • Educational Codeforces Round 174 (Rated for Div. 2)(部分题解)
  • Next.js 学习-1
  • 深入解析过滤器模式:数据筛选与处理的高效工具
  • 我们来学人工智能 -- DeepSeek客户端
  • 一文读懂大模型文件后缀名,解锁 AI 世界的密码
  • 【部署优化篇十四】【十万字全景拆解:GitHub Actions自动化流水线设计圣经(DeepSeek工业级实践大公开)】
  • 梅花奖在上海|湘剧《夫人如见》竞梅,长沙文旅来沪推广
  • 再现五千多年前“古国时代”:凌家滩遗址博物馆今开馆
  • 中国人民银行等四部门联合召开科技金融工作交流推进会
  • 92岁上海交大退休教师捐赠百万元给学校,其父也曾设奖学金
  • 经济日报评外卖平台被约谈:行业竞争不能背离服务本质
  • 5吨煤炭“瞬间蒸发”?掺水炭致企业损失千万,腐败窝案曝光