AkShare 答疑专栏
专栏介绍
本专栏的主要目的是为了解决在使用 AkShare 中遇到的各种问题,主题包括但不限于:环境配置、AkShare 安装和升级、数据接口请求、代理配置等等。
常见问题
- 安装 AkShare 的速度慢,下载时间久
- 请使用国内的源来安装 AkShare
- 基于 Python 的代码如下:
pip install akshare -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com --upgrade
- 基于 Anaconda 的代码如下:
pip install akshare -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com --user --upgrade
- 基于 Python 的代码如下:
- 使用代理安装,由于相关限制,在这里对代理的安装和使用不做介绍,请自行搜索配置。
- 请使用国内的源来安装 AkShare
- 运行任意接口发现报错,错误类似:
AttributeError: module 'akshare' has no attribute 'xxx'
- 检查 Python 的版本需要在 Python 3.6 以上,推荐使用 Python 3.7.5 及以上版本
- 检查是否安装了最新版本的 AkShare,如果不是最新版本,请先升级至最新版
- 检查在文档中是否具有该
xxx
接口,特定情况下有可能会改变接口的命名或者移除某些接口 - 检查所运行的 Python 文件名命名问题,不能用如下命名:
akshare.py
与本地安装包冲突
- 不能获取指定的日期期间的数据,比如从 20200401 至 20200415 的数据
- 由于目标网页的大部分的接口一次性返回所有数据,所以在 AkShare 的部分接口函数中没有设置类似
start_date
和end_date
的参数 - 如果要获取指定日期间的数据,请在调用接口后自行处理
- 由于目标网页的大部分的接口一次性返回所有数据,所以在 AkShare 的部分接口函数中没有设置类似
- 接口报错出现类似错误提示:
ReadTimeout: HTTPConnectionPool(host="www.xxx.com")
- 重新运行接口函数
- 更换 IP 地址,可以使用代理访问
- 降低数据访问的频率
- 接口报错出现类似错误提示:
cannot import name 'StringIO' from 'pandas.compat'
- 建议安装 pandas 版本大于 0.25.2,建议 pandas 版本大于 1.0
- 升级命令如下:
pip install akshare --upgrade
- 出现数据返回错位,如日期数据和价格数据返回错位的情况
- 多运行几次,是否是网络稳定问题
- 切换 IP 后重试
- 可以在 GitHub Issues 中反馈
- 全球疫情历史数据接口获取不到数据
- 由于 GitHub 服务器在国外,访问此数据接口最好使用代理访问
- 如没有代理的情况下,多重复请求几次
- 返回值字段错位
- 升级 pandas 到最新版本
- Linux 系统显示
execjs._exceptions.RuntimeUnavailableError: Could not find an available JavaScript runtime.
- 需要安装
nodejs
- 参考文章
- 需要安装
- 将数据在 IDE 全显示,避免折叠显示不全的情况
- 全局设置
pandas
,使用方法:
- 全局设置
import pandas as pd
import akshare as ak
# 列名与数据对其显示
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
# 显示所有列
pd.set_option('display.max_columns', None)
# 显示所有行
pd.set_option('display.max_rows', None)
stock_zh_index_daily_df = ak.stock_zh_index_daily(symbol="sz399552")
print(stock_zh_index_daily_df)
- 出现
AttributeError: 'MiniRacer' object has no attribute 'ext'
报错- 安装 64 位的 Python
- 无法下载疫情的海外数据
- 访问 IPAddress
- 查询
raw.githubusercontent.com
的真实 IP 地址 - 找到系统 host
- Windows 10 在目录
C:\Windows\System32\drivers\etc
- Ubuntu 18.04 在目录
/etc/hosts
- Windows 10 在目录
- 修改 host
- 添加如下内容:
199.232.28.133 raw.githubusercontent.com
- 此处
199.232.28.133
为查找到的真实 IP
- 添加如下内容: