针对 akshare、efinance、yfinance、aktools、daily_stock_analysis 的🐒插件补丁,解决
stock_zh_a_spot_em、stock_zh_a_hist、get_realtime_quotes等东财接口报错问题和 YahooYFRateLimitError问题。并对akshare部分接口进行多线程加速处理。
akshare 或 aktools 的 stock_zh_a_spot_em、stock_zh_a_hist 接口报错问题efinance 的 get_realtime_quotes 等接口报错问题yfinance Yahoo接口国内无法使用问题daily_stock_analysis 的数据获取报错问题stock_zh_a_spot_em、stock_individual_fund_flow_rank 等 akshare 接口pip install akshare-proxy-patch==0.5.0
点击前往插件官网 获取 TOKEN。
akshare 或 efinance 用户:在 Python 文件最顶部 添加如下代码,并替换 你的TOKEN。
# python 文件顶部添加如下代码
# 重要:插件引入和调用一定要放到最顶部!不能在 akshare 或 efinance 之后引入!
import akshare_proxy_patch
akshare_proxy_patch.install_patch(
"101.201.173.125",
auth_token="你的TOKEN",
retry=30,
# 封控的域名列表,可自行调整
hook_domains=[
"fund.eastmoney.com",
"push2.eastmoney.com",
"push2his.eastmoney.com",
"emweb.securities.eastmoney.com",
"searchapi.eastmoney.com/api/suggest/get",
"push2delay.eastmoney.com/api/qt/clist/get"
],
fast=True
)
# --------------------------
# 后续你的业务代码保持不变
# --------------------------
# 假如你使用 akshare
import akshare as ak
df = ak.stock_zh_a_spot_em()
# 假如你使用 efinance
import efinance as ef
ef.stock.get_realtime_quotes()
yfinance 用户:在 Python 文件顶部添加如下代码,并替换 你的TOKEN,不需要使用 AI 魔改。# python 文件顶部添加如下代码
# 重要:插件引入和调用一定要放到最顶部!不能在 akshare 或 efinance 之后引入!
import akshare_proxy_patch
akshare_proxy_patch.install_yfinance_patch(
"101.201.173.125",
auth_token="你的TOKEN",
retry=30,
)
# --------------------------
# 后续你的业务代码保持不变
# --------------------------
import yfinance as yf
data = yf.download("AAPL", start="2017-01-01", end="2017-04-30")
ip
auth_token
retry
hook_domains
akshare 或 efinance 函数查看接口源码对应的 URL 并添加到该列表。stock_zh_a_spot_em 这个接口,hook_domains 可设置为 ["https://82.push2.eastmoney.com/api/qt/clist/get"]。fast
akshare 多线程加速,默认开启,加速函数列表如下fetch_paginated_data 分页函数的接口,如 stock_zh_a_spot_em、stock_sh_a_spot_em、stock_board_industry_cons_em 等stock_individual_fund_flow_rankstock_sector_fund_flow_rankfund_money_fund_info_emfund_graded_fund_info_emfund_etf_fund_info_emfund_fh_emfund_cf_emfund_fh_rank_emaktools 想要集成插件,需下载 akt.py 文件,并填入您的 TOKEN。python akt.py 即可启动一个 http://127.0.0.1:8080/ 服务。只是启动方式不同而已,使用请参考 aktools 官方文档。akshare、efinance 等数据源,如遇数据源报错,可以通过引入插件来解决。main.py,在文件顶部引入插件:# 找到 daily_stock_analysis main.py 的这行(第一行)代码,在其下方引入插件
from __future__ import annotations
# 引入插件
import akshare_proxy_patch
akshare_proxy_patch.install_patch(
"101.201.173.125",
auth_token="你的TOKEN",
retry=30,
# 封控的域名列表,可自行调整
hook_domains=[
"fund.eastmoney.com",
"push2.eastmoney.com",
"push2his.eastmoney.com",
"emweb.securities.eastmoney.com",
"searchapi.eastmoney.com/api/suggest/get",
"push2delay.eastmoney.com/api/qt/clist/get"
],
fast=True
)
# daily_stock_analysis main.py 的其他后续代码
# 插件引入成功后正常启动该项目即可
efinance 替代 akshare 来获取数据, efinance 内置多线程,效率更高,更省积分。auth_token,执行 python main.py 测试。加入如下代码后插件就会被禁用,点击查看禁用/启用插件示例:
akshare_proxy_patch.uninstall_patch()
requests 库请求接口,插件能自动 hook 住请求,正常工作。如使用时遇到问题,或对插件有什么意见或建议,可进群交流:
