akfamily / aktools Goto Github PK
View Code? Open in Web Editor NEWAKTools is an elegant and simple HTTP API library for AKShare, built for AKSharers!
Home Page: https://aktools.akfamily.xyz/
License: MIT License
AKTools is an elegant and simple HTTP API library for AKShare, built for AKSharers!
Home Page: https://aktools.akfamily.xyz/
License: MIT License
我根据文档写了一份docker-compose.yml文件,想用最新版本的镜像,但启动失败。根据文档描述,镜像的版本号是akshare的版本号,我接着用1.9.43,不行,然后用低一版本1.9.42,可以了。
以下是我的docker-compose.yml:
version: '3.7'
services:
datasource:
container_name: aktools
image: registry.cn-shanghai.aliyuncs.com/akfamily/aktools:1.9.42
restart: always
environment:
TZ: Asia/Shanghai
ports:
- 8080:8080
window11系统64位,python3.11版本
cmd>python -m aktools --host 0.0.0.0 --port 8888
请访问:http://0.0.0.0:8888/version 来获取最新的库版本信息,确保使用最新版本的 AKShare 和 AKTools
当前的 AKTools 版本为:0.0.81,AKShare 版本为:1.7.97
点击打开 HTTP API 主页:http://0.0.0.0:8888/
点击打开接口导览:http://0.0.0.0:8888/docs
Usage: python -m uvicorn [OPTIONS] APP
Try 'python -m uvicorn --help' for help.
Error: Got unexpected extra argument (Files\Python\Python311\Lib\site-packages\aktools)
curl --location --request GET 'http://127.0.0.1:8080/api/public/stock_analyst_detail_em?analyst_id=11000277440&indicator=最新跟踪成分股'
在ubuntu的vps安装aktools ,因为ubuntu中安装完成后,命令时python3 ,会返回找不到python 的错误,有什么解决的方法么??谢谢
No supported WebSocket library detected. Please use 'pip install uvicorn[standard]', or install 'websockets' or 'wsproto' manually.
用ip:端口可以正常使用
这是为啥呢
ps:我解析了一个https来访问的
还没怎么大规模使用,一天都需要重启docker好几次,经常会服务没响应了重启了就好了,这种要怎么调整下
我在测试淘股吧的股票热度的时候,应用接口报错,请问这是什么情况呀?
我看用户手册里面也没说要输入参数?
股票热度-淘股吧
接口: stock_hot_tgb
目标地址: https://www.taoguba.com.cn/stock/moreHotStock
描述: 淘股吧-热门股票
限量: 单次返回排名前 20 股票
输入参数
名称 类型 描述
输出参数
名称 类型 描述
个股代码 object -
个股名称 object -
接口示例
import akshare as ak
stock_hot_tgb_df = ak.stock_hot_tgb()
print(stock_hot_tgb_df)
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
[c:\Users\Frank\Synology\0Programing\AutoDailyReport.ipynb](file:///C:/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb) 单元格 15 line 2
[1](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=0) # 股票热度-淘股吧
[2](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=1) # 接口: stock_hot_tgb
[3](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=2)
(...)
[20](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=19)
[21](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=20) # import akshare as ak
---> [23](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=22) stock_hot_tgb_df = ak.stock_hot_tgb()
[24](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=23) print(stock_hot_tgb_df)
[25](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=24) # 数据示例
[26](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=25)
[27](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=26) # 个股代码 个股名称
(...)
[46](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=45) # 18 sz002264 新华都
[47](vscode-notebook-cell:/c%3A/Users/Frank/Synology/0Programing/AutoDailyReport.ipynb#X24sZmlsZQ%3D%3D?line=46) # 19 sz301088 戎美股份
File [c:\Users\Frank\AppData\Local\Programs\Python\Python311\Lib\site-packages\akshare\stock_feature\stock_hot_tgb.py:21](file:///C:/Users/Frank/AppData/Local/Programs/Python/Python311/Lib/site-packages/akshare/stock_feature/stock_hot_tgb.py:21), in stock_hot_tgb()
[19](file:///C:/Users/Frank/AppData/Local/Programs/Python/Python311/Lib/site-packages/akshare/stock_feature/stock_hot_tgb.py:19) url = "https://www.taoguba.com.cn/stock/moreHotStock"
[20](file:///C:/Users/Frank/AppData/Local/Programs/Python/Python311/Lib/site-packages/akshare/stock_feature/stock_hot_tgb.py:20) r = requests.get(url)
---> [21](file:///C:/Users/Frank/AppData/Local/Programs/Python/Python311/Lib/site-packages/akshare/stock_feature/stock_hot_tgb.py:21) temp_df = pd.concat([pd.read_html(r.text, header=0)[0], pd.read_html(r.text, header=0)[1]])
[22](file:///C:/Users/Frank/AppData/Local/Programs/Python/Python311/Lib/site-packages/akshare/stock_feature/stock_hot_tgb.py:22) temp_df = temp_df[[
[23](file:///C:/Users/Frank/AppData/Local/Programs/Python/Python311/Lib/site-packages/akshare/stock_feature/stock_hot_tgb.py:23) "个股代码",
[24](file:///C:/Users/Frank/AppData/Local/Programs/Python/Python311/Lib/site-packages/akshare/stock_feature/stock_hot_tgb.py:24) "个股名称",
[25](file:///C:/Users/Frank/AppData/Local/Programs/Python/Python311/Lib/site-packages/akshare/stock_feature/stock_hot_tgb.py:25) ]]
[26](file:///C:/Users/Frank/AppData/Local/Programs/Python/Python311/Lib/site-packages/akshare/stock_feature/stock_hot_tgb.py:26) temp_df.reset_index(inplace=True, drop=True)
IndexError: list index out of range
sudo pip3 install aktools
报错信息如下:
Traceback (most recent call last):
File "/tmp/pip-build-57ny3y4m/pillow/setup.py", line 1024, in <module>
zip_safe=not (debug_build() or PLATFORM_MINGW),
File "/usr/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
return distutils.core.setup(**attrs)
File "/usr/lib64/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib64/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib64/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/usr/lib64/python3.6/distutils/command/install.py", line 556, in run
self.run_command('build')
File "/usr/lib64/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib64/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib64/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib64/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib64/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 78, in run
_build_ext.run(self)
File "/usr/lib64/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/tmp/pip-build-57ny3y4m/pillow/setup.py", line 790, in build_extensions
raise RequiredDependencyException(f)
__main__.RequiredDependencyException: zlib
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-57ny3y4m/pillow/setup.py", line 1037, in <module>
raise RequiredDependencyException(msg)
__main__.RequiredDependencyException:
The headers or library files could not be found for zlib,
a required dependency when compiling Pillow from source.
Please see the install instructions at:
https://pillow.readthedocs.io/en/latest/installation.html
----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-57ny3y4m/pillow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-cv0r2ps_-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-57ny3y4m/pillow/
树莓派4b上,CentOs7系统,为什么 arm64 运行不了aktools呢?
错误内容如下
INFO: Started server process [24762]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8085 (Press CTRL+C to quit)
INFO: 127.0.0.1:47882 - "GET /api/public/stock_sh_a_spot_em HTTP/1.0" 200 OK
INFO: 127.0.0.1:47886 - "GET /favicon.ico HTTP/1.0" 500 Internal Server Error
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/root/anaconda3/lib/python3.7/site-packages/starlette/responses.py", line 318, in __call__
stat_result = await anyio.to_thread.run_sync(os.stat, self.path)
File "/root/anaconda3/lib/python3.7/site-packages/anyio/to_thread.py", line 32, in run_sync
func, *args, cancellable=cancellable, limiter=limiter
File "/root/anaconda3/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
return await future
File "/root/anaconda3/lib/python3.7/site-packages/anyio/_backends/_asyncio.py", line 867, in run
result = context.run(func, *args)
FileNotFoundError: [Errno 2] No such file or directory: '../favicon.ico'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/anaconda3/lib/python3.7/site-packages/uvicorn/protocols/http/h11_impl.py", line 366, in run_asgi
result = await app(self.scope, self.receive, self.send)
File "/root/anaconda3/lib/python3.7/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
return await self.app(scope, receive, send)
File "/root/anaconda3/lib/python3.7/site-packages/fastapi/applications.py", line 269, in __call__
await super().__call__(scope, receive, send)
File "/root/anaconda3/lib/python3.7/site-packages/starlette/applications.py", line 124, in __call__
await self.middleware_stack(scope, receive, send)
File "/root/anaconda3/lib/python3.7/site-packages/starlette/middleware/errors.py", line 184, in __call__
raise exc
File "/root/anaconda3/lib/python3.7/site-packages/starlette/middleware/errors.py", line 162, in __call__
await self.app(scope, receive, _send)
File "/root/anaconda3/lib/python3.7/site-packages/starlette/middleware/cors.py", line 84, in __call__
await self.app(scope, receive, send)
File "/root/anaconda3/lib/python3.7/site-packages/starlette/exceptions.py", line 93, in __call__
raise exc
File "/root/anaconda3/lib/python3.7/site-packages/starlette/exceptions.py", line 82, in __call__
await self.app(scope, receive, sender)
File "/root/anaconda3/lib/python3.7/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
raise e
File "/root/anaconda3/lib/python3.7/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "/root/anaconda3/lib/python3.7/site-packages/starlette/routing.py", line 670, in __call__
await route.handle(scope, receive, send)
File "/root/anaconda3/lib/python3.7/site-packages/starlette/routing.py", line 266, in handle
await self.app(scope, receive, send)
File "/root/anaconda3/lib/python3.7/site-packages/starlette/routing.py", line 68, in app
await response(scope, receive, send)
File "/root/anaconda3/lib/python3.7/site-packages/starlette/responses.py", line 321, in __call__
raise RuntimeError(f"File at path {self.path} does not exist.")
RuntimeError: File at path ../favicon.ico does not exist.
先感谢提供免费的库。
windows 7
python 3.8.6
安装最新版本 0.0.60
执行
python -m aktools
报以下错误
Usage: uvicorn [OPTIONS] APP
Try 'uvicorn --help' for help.
Error: Got unexpected extra argument (Files\python\lib\site-packages\aktools)
Running “python -m aktools” an error
个股新闻
接口: stock_news_em
目标地址: http://so.eastmoney.com/news/s
描述: 东方财富指定个股的新闻资讯数据
限量: 当日最近 100 条新闻资讯数据
输入参数
名称 类型 描述
symbol str symbol="300059"; 股票代码或其他关键词
输出参数
名称 类型 描述
关键词 object -
新闻标题 object -
新闻内容 object -
发布时间 object -
文章来源 object -
新闻链接 object -
接口示例
import akshare as ak
stock_news_em_df = ak.stock_news_em(symbol="600000")
stock_news_em_df
KeyError Traceback (most recent call last)
c:\Users\Frank\Synology\0Programing\AutoDailyReport.ipynb 单元格 21 line 2
1 # 个股新闻
2 # 接口: stock_news_em
3
(...)
24
25 # import akshare as ak
---> 27 stock_news_em_df = ak.stock_news_em(symbol="600000")
28 stock_news_em_df
29 # 数据示例
30
31 # 关键词 ... 新闻链接
(...)
41 # 98 300059 ... http://finance.eastmoney.com/a/202207192454107...
42 # 99 300059 ... http://finance.eastmoney.com/a/202206212419852...
File c:\Users\Frank\AppData\Local\Programs\Python\Python311\Lib\site-packages\akshare\news\news_stock.py:36, in stock_news_em(symbol)
32 data_text = r.text
33 data_json = json.loads(
34 data_text.strip("jQuery3510875346244069884_1668256937995(")[:-1]
35 )
---> 36 temp_df = pd.DataFrame(data_json["result"]["cmsArticleWebOld"])
37 temp_df.rename(
38 columns={
39 "date": "发布时间",
(...)
47 inplace=True,
48 )
49 temp_df["关键词"] = symbol
KeyError: 'cmsArticleWebOld'
docker pull提示denied: requested access to the resource is denied
>docker pull registry.cn-beijing.aliyuncs.com/ms-jupyter/ak_tools:v1.0.5
Error response from daemon: pull access denied for registry.cn-beijing.aliyuncs.com/ms-jupyter/ak_tools, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
`
python -m aktools
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\Lib\runpy.py:197 in │
│ _run_module_as_main │
│ │
│ 194 │ main_globals = sys.modules["__main__"].__dict__ │
│ 195 │ if alter_argv: │
│ 196 │ │ sys.argv[0] = mod_spec.origin │
│ ❱ 197 │ return _run_code(code, main_globals, None, │
│ 198 │ │ │ │ │ "__main__", mod_spec) │
│ 199 │
│ 200 def run_module(mod_name, init_globals=None, │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ alter_argv = True │ │
│ │ code = <code object <module> at 0x000002972A1E5C90, file │ │
│ │ "C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\lib\site-… │ │
│ │ line 3> │ │
│ │ main_globals = { │ │
│ │ │ '__name__': '__main__', │ │
│ │ │ '__doc__': '\nDate: 2022/9/27 19:05\nDesc: CLI 执行入口文件\n运行 `pytho… │ │
│ │ -m aktools` 相当于运行 `python -m '+21, │ │
│ │ │ '__package__': 'aktools', │ │
│ │ │ '__loader__': <_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000029729AAD160>, │ │
│ │ │ '__spec__': ModuleSpec(name='aktools.__main__', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000029729AAD160>, │ │
│ │ origin='C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\… │ │
│ │ │ '__annotations__': {}, │ │
│ │ │ '__builtins__': <module 'builtins' (built-in)>, │ │
│ │ │ '__file__': │ │
│ │ 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9.7\… │ │
│ │ │ '__cached__': │ │
│ │ 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9.7\… │ │
│ │ │ 'cli': <module 'aktools.cli' from │ │
│ │ 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9.7\… │ │
│ │ │ ... +2 │ │
│ │ } │ │
│ │ mod_name = 'aktools.__main__' │ │
│ │ mod_spec = ModuleSpec(name='aktools.__main__', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000029729AAD160>, │ │
│ │ origin='C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\… │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\Lib\runpy.py:87 in _run_code │
│ │
│ 84 │ │ │ │ │ __loader__ = loader, │
│ 85 │ │ │ │ │ __package__ = pkg_name, │
│ 86 │ │ │ │ │ __spec__ = mod_spec) │
│ ❱ 87 │ exec(code, run_globals) │
│ 88 │ return run_globals │
│ 89 │
│ 90 def _run_module_code(code, init_globals=None, │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ cached = 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9.7\… │ │
│ │ code = <code object <module> at 0x000002972A1E5C90, file │ │
│ │ "C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\lib\site-… │ │
│ │ line 3> │ │
│ │ fname = 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9.7\… │ │
│ │ init_globals = None │ │
│ │ loader = <_frozen_importlib_external.SourceFileLoader object at 0x0000029729AAD160> │ │
│ │ mod_name = '__main__' │ │
│ │ mod_spec = ModuleSpec(name='aktools.__main__', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000029729AAD160>, │ │
│ │ origin='C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\… │ │
│ │ pkg_name = 'aktools' │ │
│ │ run_globals = { │ │
│ │ │ '__name__': '__main__', │ │
│ │ │ '__doc__': '\nDate: 2022/9/27 19:05\nDesc: CLI 执行入口文件\n运行 `pytho… │ │
│ │ -m aktools` 相当于运行 `python -m '+21, │ │
│ │ │ '__package__': 'aktools', │ │
│ │ │ '__loader__': <_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000029729AAD160>, │ │
│ │ │ '__spec__': ModuleSpec(name='aktools.__main__', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000029729AAD160>, │ │
│ │ origin='C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\… │ │
│ │ │ '__annotations__': {}, │ │
│ │ │ '__builtins__': <module 'builtins' (built-in)>, │ │
│ │ │ '__file__': │ │
│ │ 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9.7\… │ │
│ │ │ '__cached__': │ │
│ │ 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9.7\… │ │
│ │ │ 'cli': <module 'aktools.cli' from │ │
│ │ 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9.7\… │ │
│ │ │ ... +2 │ │
│ │ } │ │
│ │ script_name = None │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\lib\site-packages\aktools\__ma │
│ in__.py:16 in <module> │
│ │
│ 13 │
│ 14 │
│ 15 if __name__ == "__main__": │
│ ❱ 16 │ main() │
│ 17 │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ __annotations__ = {} │ │
│ │ __builtins__ = <module 'builtins' (built-in)> │ │
│ │ __cached__ = 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9… │ │
│ │ __doc__ = '\nDate: 2022/9/27 19:05\nDesc: CLI 执行入口文件\n运行 `python -m aktools… │ │
│ │ 相当于运行 `python -m '+21 │ │
│ │ __file__ = 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9… │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x0000029729AAD160> │ │
│ │ __name__ = '__main__' │ │
│ │ __package__ = 'aktools' │ │
│ │ __spec__ = ModuleSpec(name='aktools.__main__', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000029729AAD160>, │ │
│ │ origin='C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versio… │ │
│ │ __title__ = 'AKTools' │ │
│ │ cli = <module 'aktools.cli' from │ │
│ │ 'C:\\Users\\tyehuo\\scoop\\apps\\pyenv\\current\\pyenv-win\\versions\\3.9… │ │
│ │ main = <function main at 0x0000029729A6FF70> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\lib\site-packages\aktools\__ma │
│ in__.py:12 in main │
│ │
│ 9 │
│ 10 │
│ 11 def main(): │
│ ❱ 12 │ cli.app(prog_name=__title__) │
│ 13 │
│ 14 │
│ 15 if __name__ == "__main__": │
│ │
│ C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\lib\site-packages\typer\main.p │
│ y:328 in __call__ │
│ │
│ C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\lib\site-packages\typer\main.p │
│ y:311 in __call__ │
│ │
│ C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\lib\site-packages\click\core.p │
│ y:829 in __call__ │
│ │
│ C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\lib\site-packages\typer\core.p │
│ y:716 in main │
│ │
│ C:\Users\tyehuo\scoop\apps\pyenv\current\pyenv-win\versions\3.9.7\lib\site-packages\typer\core.p │
│ y:190 in _main │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
AttributeError: module 'click.utils' has no attribute '_expand_args'
阿里云香港的云服务器ESC
docker部署的aktools。
版本号:
当前的 AKTools 版本为:0.0.81,AKShare 版本为:1.8.40
接口:(尝试过其他国家和指数数据,全是提示:内部服务错误)
http://127.0.0.1:8001/api/public/index_investing_global?area=土耳其&symbol=土耳其ISE National-100&period=每日&start_date=20221220&end_date=20221228
响应:
Internal Server Error
数据源链接:
https://cn.investing.com/indices/ise-100
docker日志:
请访问:http://0.0.0.0:8001/version 来获取最新的库版本信息,确保使用最新版本的 AKShare 和 AKTools
当前的 AKTools 版本为:0.0.81,AKShare 版本为:1.8.40
点击打开 HTTP API 主页:http://0.0.0.0:8001/
点击打开接口导览:http://0.0.0.0:8001/docs
INFO: Started server process [9]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8001 (Press CTRL+C to quit)
INFO: 103.177.248.233:32896 - "GET /api/public/index_investing_global?area=%E5%9C%9F%E8%80%B3%E5%85%B6&symbol=%E5%9C%9F%E8%80%B3%E5%85%B6ISE%20National-100&start_date=20221220&end_date=20221227&period=%E6%AF%8F%E6%97%A5 HTTP/1.1" 500 Internal Server Error
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 270, in __call__
await super().__call__(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 124, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 184, in __call__
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 162, in __call__
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 84, in __call__
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
await self.app(scope, receive, sender)
File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
raise e
File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 706, in __call__
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 66, in app
response = await func(request)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 235, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 163, in run_endpoint_function
return await run_in_threadpool(dependant.call, **values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
return await anyio.to_thread.run_sync(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/anyio/to_thread.py", line 31, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 867, in run
result = context.run(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aktools/core/api.py", line 140, in root
received_df = eval("ak." + item_id + f"({eval_str})")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1, in
File "/usr/local/lib/python3.11/site-packages/akshare/index/index_investing.py", line 162, in index_investing_global
name_code_dict = index_investing_global_area_index_name_code(area)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/akshare/index/index_investing.py", line 89, in index_investing_global_area_index_name_code
name_url_dict = _get_global_country_name_url()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/akshare/index/index_investing.py", line 68, in _get_global_country_name_url
).find_all("option")[
^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'find_all'
期待回复,谢谢
感谢作者修复,最新的版本终于可以运行了。另外一个问题,我再我的腾讯云上运行这个服务,本地电脑用服务器ip无法访问,这个权限哪里可以开启?
目前只是最近5天的,怎么获取更久的呢?
{"error":"未找到该接口,请升级 AKShare 到最新版本并在文档中确认该接口的使用方式:https://www.akshare.xyz"}
系统 cenos 7
报错如下
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn
conn = connection.create_connection(
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/util/connection.py", line 95, in create_connection
raise err
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/util/connection.py", line 85, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/connectionpool.py", line 398, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/connection.py", line 239, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/root/miniconda3/lib/python3.9/http/client.py", line 1253, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/root/miniconda3/lib/python3.9/http/client.py", line 1299, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/root/miniconda3/lib/python3.9/http/client.py", line 1248, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/root/miniconda3/lib/python3.9/http/client.py", line 1008, in _send_output
self.send(msg)
File "/root/miniconda3/lib/python3.9/http/client.py", line 948, in send
self.connect()
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/connection.py", line 205, in connect
conn = self._new_conn()
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/connection.py", line 186, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f12a4250be0>: Failed to establish a new connection: [Errno 110] Connection timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.9/site-packages/requests/adapters.py", line 440, in send
resp = conn.urlopen(
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/connectionpool.py", line 785, in urlopen
retries = retries.increment(
File "/root/miniconda3/lib/python3.9/site-packages/urllib3/util/retry.py", line 592, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='80.push2.eastmoney.com', port=80): Max retries exceeded with url: /api/qt/clist/get?pn=1&pz=5000&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m%3A0+t%3A6%2Cm%3A0+t%3A80&fields=f12&_=1623833739532 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f12a4250be0>: Failed to establish a new connection: [Errno 110] Connection timed out'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.9/site-packages/uvicorn/protocols/http/h11_impl.py", line 364, in run_asgi
result = await app(self.scope, self.receive, self.send)
File "/root/miniconda3/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
return await self.app(scope, receive, send)
File "/root/miniconda3/lib/python3.9/site-packages/fastapi/applications.py", line 212, in __call__
await super().__call__(scope, receive, send)
File "/root/miniconda3/lib/python3.9/site-packages/starlette/applications.py", line 112, in __call__
await self.middleware_stack(scope, receive, send)
File "/root/miniconda3/lib/python3.9/site-packages/starlette/middleware/errors.py", line 181, in __call__
raise exc
File "/root/miniconda3/lib/python3.9/site-packages/starlette/middleware/errors.py", line 159, in __call__
await self.app(scope, receive, _send)
File "/root/miniconda3/lib/python3.9/site-packages/starlette/exceptions.py", line 82, in __call__
raise exc
File "/root/miniconda3/lib/python3.9/site-packages/starlette/exceptions.py", line 71, in __call__
await self.app(scope, receive, sender)
File "/root/miniconda3/lib/python3.9/site-packages/starlette/routing.py", line 656, in __call__
await route.handle(scope, receive, send)
File "/root/miniconda3/lib/python3.9/site-packages/starlette/routing.py", line 259, in handle
await self.app(scope, receive, send)
File "/root/miniconda3/lib/python3.9/site-packages/starlette/routing.py", line 61, in app
response = await func(request)
File "/root/miniconda3/lib/python3.9/site-packages/fastapi/routing.py", line 226, in app
raw_response = await run_endpoint_function(
File "/root/miniconda3/lib/python3.9/site-packages/fastapi/routing.py", line 161, in run_endpoint_function
return await run_in_threadpool(dependant.call, **values)
File "/root/miniconda3/lib/python3.9/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool
return await anyio.to_thread.run_sync(func, *args)
File "/root/miniconda3/lib/python3.9/site-packages/anyio/to_thread.py", line 28, in run_sync
return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable,
File "/root/miniconda3/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 818, in run_sync_in_worker_thread
return await future
File "/root/miniconda3/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 754, in run
result = context.run(func, *args)
File "/root/miniconda3/lib/python3.9/site-packages/aktools/core/api.py", line 128, in root
received_df = eval("ak." + item_id + f"({eval_str})")
File "<string>", line 1, in <module>
File "/root/miniconda3/lib/python3.9/site-packages/akshare/stock/stock_info_em.py", line 23, in stock_individual_info_em
code_id_dict = code_id_map_em()
File "/root/miniconda3/lib/python3.9/site-packages/akshare/stock_feature/stock_hist_em.py", line 253, in code_id_map_em
r = requests.get(url, params=params)
File "/root/miniconda3/lib/python3.9/site-packages/requests/api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "/root/miniconda3/lib/python3.9/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/root/miniconda3/lib/python3.9/site-packages/requests/sessions.py", line 529, in request
resp = self.send(prep, **send_kwargs)
File "/root/miniconda3/lib/python3.9/site-packages/requests/sessions.py", line 645, in send
r = adapter.send(request, **kwargs)
File "/root/miniconda3/lib/python3.9/site-packages/requests/adapters.py", line 519, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='80.push2.eastmoney.com', port=80): Max retries exceeded with url: /api/qt/clist/get?pn=1&pz=5000&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m%3A0+t%3A6%2Cm%3A0+t%3A80&fields=f12&_=1623833739532 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f12a4250be0>: Failed to establish a new connection: [Errno 110] Connection timed out'))`
aktools安装和运行指令:
docker run -di -p 8080:8080 registry.cn-shanghai.aliyuncs.com/akfamily/aktools:1.3.93 python -m aktools
docker run -p 8080:8080 registry.cn-shanghai.aliyuncs.com/akfamily/aktools:1.3.93 python -m aktools --host 0.0.0.0 --port 8080
访问LPR返回数据:
文档是有日期字段:
文档地址:https://www.akshare.xyz/data/macro/macro.html?highlight=lpr#lpr
是版本不对还是啥情况?
理论上按照文档意思我安装的应该是最新的吧
有人知道怎么做吗?
集思录的cookie中包含多个等号,使用akshare.bond_cb_jsl(cookie='集思录cookie')可以正常返回结果。
但在使用aktools的时候,就报非法字符错误。具体问题如下:
当使用get方式访问bond_cb_jsl时,传入下面的cookie:
kbzw__Session=h3l4slhht553flu9cm74qn9du4;kbz_newcookie=1;Hm_lvt_164fe01b1433a19b507595a43bf58262=1658471335;kbzw__user_login=7Obd08_P1ebax9aXXBInRw8mXCP5Vur_mrCW6c3q1e3Q6dvR1YzUmKTe2KGrz9qS3JTZ2qutlKfDpdrbmtqkqcWvx6naqZmcndbd3dPGpJ2nmK-ZrauUs47FotLWoLbo5uDO4sKmrKGogZi43efZ2PDfl7DKgainoaickLjd56udtIzvmKqKl7jj6M3VuNnbwNLtm6yVrY-qrZOgrLi1wcWhieXV4seWqNza3ueKkKTc6-TW3puokqmPp6WjppGQtNXf1tvim6yVrY-qrQ..;Hm_lpvt_164fe01b1433a19b507595a43bf58262=1660542006
报错信息文本:
ak.bond_cb_jsl(cookie="kbzw__Session="h3l4slhht553flu9cm74qn9du4", kbz_newcookie="1", Hm_lvt_164fe01b1433a19b507595a43bf58262="1658471335", kbzw__user_login="7Obd08_P1ebax9aXXBInRw8mXCP5Vur_mrCW6c3q1e3Q6dvR1YzUmKTe2KGrz9qS3JTZ2qutlKfDpdrbmtqkqcWvx6naqZmcndbd3dPGpJ2nmK-ZrauUs47FotLWoLbo5uDO4sKmrKGogZi43efZ2PDfl7DKgainoaickLjd56udtIzvmKqKl7jj6M3VuNnbwNLtm6yVrY-qrZOgrLi1wcWhieXV4seWqNza3ueKkKTc6-TW3puokqmPp6WjppGQtNXf1tvim6yVrY-qrQ..", Hm_lpvt_164fe01b1433a19b507595a43bf58262="1660542006")
^
SyntaxError: invalid syntax
可以看到,get方式调用后,ak.bond_cb_jsl(cookie=....) 应该拼接成ak.bond_cb_jsl(cookie='集思录cookie')的格式,实际却成了上面报错信息里的格式。拜读了您api.py中的代码,发现代码一遇到等号(=)就会在等号后面加上引号,这个逻辑在只有一个等号,例如https://172.0.0.1:8080?/api/public/bond_cb_jsl?cookie=abcdefg
的时候可以正常运行,但是在传入的参数字符串值内有等号(如上文给出的cookie)的时候,就会报错。
希望兄台抽空修复此bug,谢谢。
=========================================================
另外我将上文报错信息中aktools生成的akshare的语句:
ak.bond_cb_jsl(cookie="kbzw__Session="h3l4slhht553flu9cm74qn9du4", kbz_newcookie="1", Hm_lvt_164fe01b1433a19b507595a43bf58262="1658471335", kbzw__user_login="7Obd08_P1ebax9aXXBInRw8mXCP5Vur_mrCW6c3q1e3Q6dvR1YzUmKTe2KGrz9qS3JTZ2qutlKfDpdrbmtqkqcWvx6naqZmcndbd3dPGpJ2nmK-ZrauUs47FotLWoLbo5uDO4sKmrKGogZi43efZ2PDfl7DKgainoaickLjd56udtIzvmKqKl7jj6M3VuNnbwNLtm6yVrY-qrZOgrLi1wcWhieXV4seWqNza3ueKkKTc6-TW3puokqmPp6WjppGQtNXf1tvim6yVrY-qrQ..", Hm_lpvt_164fe01b1433a19b507595a43bf58262="1660542006")
中额外的引号(")去掉,在python中执行,也无法取到全部结果,经查原cookie中的分号(;)在api,py中先被替换成了(&)连接符进而又被replace成了逗号(,)手动将逗号(,)替换回原cookie中的分号(;)得到:
ak.bond_cb_jsl(cookie="kbzw__Session=h3l4slhht553flu9cm74qn9du4;kbz_newcookie=1;Hm_lvt_164fe01b1433a19b507595a43bf58262=1658471335;kbzw__user_login=7Obd08_P1ebax9aXXBInRw8mXCP5Vur_mrCW6c3q1e3Q6dvR1YzUmKTe2KGrz9qS3JTZ2qutlKfDpdrbmtqkqcWvx6naqZmcndbd3dPGpJ2nmK-ZrauUs47FotLWoLbo5uDO4sKmrKGogZi43efZ2PDfl7DKgainoaickLjd56udtIzvmKqKl7jj6M3VuNnbwNLtm6yVrY-qrZOgrLi1wcWhieXV4seWqNza3ueKkKTc6-TW3puokqmPp6WjppGQtNXf1tvim6yVrY-qrQ..;Hm_lpvt_164fe01b1433a19b507595a43bf58262=1660542006")
烦请查看此处。谢谢。
给返回的json带上index,像stock_us_daily这样的接口没有date数据,因为date在pd中是index
api.py中
temp_df = eval("ak." + item_id + f"({eval_str})").to_json(orient='records', date_format='iso')
如果调用接口查询结果无数据,会报**'NoneType' object has no attribute 'to_json',
对象结果无法转成json,http返回结果Internal Server Error**
建议加上接口返回判断,处理一下。
无法调用python版本可以调用的期货主力合约接口match_main_contract,
http://127.0.0.1:8080/api/public/match_main_contract?symbol=shfe
返回Internal Server Error
访问接口:stock_board_concept_cons_ths
symbol = WiFi 6
报以下错误, 用python 直接访问正常。
(base) PS C:\Users\cuiqs> python -m aktools
点击打开接口导览:http://127.0.0.1:8080/docs
�[32mINFO�[0m: Started server process [�[36m18232�[0m]
�[32mINFO�[0m: Waiting for application startup.
�[32mINFO�[0m: Application startup complete.
�[32mINFO�[0m: Uvicorn running on �[1mhttp://127.0.0.1:8080�[0m (Press CTRL+C to quit)
�[32mINFO�[0m: 127.0.0.1:62872 - "�[1mGET /api/public/stock_board_concept_cons_ths?symbol=WiFi%206 HTTP/1.1�[0m" �[91m500 Internal Server Error�[0m
�[31mERROR�[0m: Exception in ASGI application
Traceback (most recent call last):
File "d:\Users\cuiqs\anaconda3\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 366, in run_asgi
result = await app(self.scope, self.receive, self.send)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 75, in call
return await self.app(scope, receive, send)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\fastapi\applications.py", line 261, in call
await super().call(scope, receive, send)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\applications.py", line 119, in call
await self.middleware_stack(scope, receive, send)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\middleware\errors.py", line 181, in call
raise exc
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\middleware\errors.py", line 159, in call
await self.app(scope, receive, _send)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\middleware\cors.py", line 84, in call
await self.app(scope, receive, send)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\exceptions.py", line 87, in call
raise exc
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\exceptions.py", line 76, in call
await self.app(scope, receive, sender)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in call
raise e
File "d:\Users\cuiqs\anaconda3\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in call
await self.app(scope, receive, send)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\routing.py", line 659, in call
await route.handle(scope, receive, send)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\routing.py", line 259, in handle
await self.app(scope, receive, send)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\routing.py", line 61, in app
response = await func(request)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\fastapi\routing.py", line 227, in app
raw_response = await run_endpoint_function(
File "d:\Users\cuiqs\anaconda3\lib\site-packages\fastapi\routing.py", line 162, in run_endpoint_function
return await run_in_threadpool(dependant.call, **values)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\starlette\concurrency.py", line 45, in run_in_threadpool
return await anyio.to_thread.run_sync(func, *args)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\anyio\to_thread.py", line 28, in run_sync
return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable,
File "d:\Users\cuiqs\anaconda3\lib\site-packages\anyio_backends_asyncio.py", line 818, in run_sync_in_worker_thread
return await future
File "d:\Users\cuiqs\anaconda3\lib\site-packages\anyio_backends_asyncio.py", line 754, in run
result = context.run(func, *args)
File "d:\Users\cuiqs\anaconda3\lib\site-packages\aktools\core\api.py", line 128, in root
received_df = eval("ak." + item_id + f"({eval_str})")
File "", line 1, in
File "d:\Users\cuiqs\anaconda3\lib\site-packages\akshare\stock_feature\stock_board_concept_ths.py", line 143, in stock_board_concept_cons_ths
stock_board_ths_map_df[stock_board_ths_map_df["概念名称"] == symbol]["网址"]
IndexError: index 0 is out of bounds for axis 0 with size 0
如题,需要怎么操作才能拿到新的字段呢?
作者您好。我用的anaconda环境,添加了系统变量直接在cmd或powershell里按操作执行。
运行错误,如下,这是什么原因呢?
C:\Users\Administrator>python -m aktools
点击打开接口导览:http://127.0.0.1:8080/docs
Traceback (most recent call last):
File "C:\Users\Administrator\anaconda3\lib\runpy.py", line 197, in _run_module
_as_main
return _run_code(code, main_globals, None,
File "C:\Users\Administrator\anaconda3\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\Users\Administrator\anaconda3\Scripts\uvicorn.exe_main.py", line
7, in
sys.exit(main())
File "C:\Users\Administrator\anaconda3\lib\site-packages\click\core.py", line
1128, in call
return self.main(*args, **kwargs)
File "C:\Users\Administrator\anaconda3\lib\site-packages\click\core.py", line
1053, in main
rv = self.invoke(ctx)
File "C:\Users\Administrator\anaconda3\lib\site-packages\click\core.py", line
1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\Administrator\anaconda3\lib\site-packages\click\core.py", line
754, in invoke
return _callback(*args, **kwargs)
File "C:\Users\Administrator\anaconda3\lib\site-packages\uvicorn\main.py", lin
e 407, in main
run(
File "C:\Users\Administrator\anaconda3\lib\site-packages\uvicorn\main.py", lin
e 575, in run
server.run()
File "C:\Users\Administrator\anaconda3\lib\site-packages\uvicorn\server.py", l
ine 60, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\Administrator\anaconda3\lib\asyncio\runners.py", line 44, in ru
n
return loop.run_until_complete(main)
File "C:\Users\Administrator\anaconda3\lib\asyncio\base_events.py", line 647,
in run_until_complete
return future.result()
File "C:\Users\Administrator\anaconda3\lib\site-packages\uvicorn\server.py", l
ine 67, in serve
config.load()
File "C:\Users\Administrator\anaconda3\lib\site-packages\uvicorn\config.py", l
ine 479, in load
self.loaded_app = import_from_string(self.app)
File "C:\Users\Administrator\anaconda3\lib\site-packages\uvicorn\importer.py",
line 21, in import_from_string
module = importlib.import_module(module_str)
File "C:\Users\Administrator\anaconda3\lib\importlib_init.py", line 127, i
n import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in call_with_frames_removed
File "C:\Users\Administrator\anaconda3\lib\site-packages\aktools\run.py", line
12, in
from core import app_core
File "C:\Users\Administrator\anaconda3\lib\site-packages\aktools\core_init
.py", line 3, in
from .api import app_core
File "C:\Users\Administrator\anaconda3\lib\site-packages\aktools\core\api.py",
line 155, in
short_path = get_template_path()
File "C:\Users\Administrator\anaconda3\lib\site-packages\aktools\datasets.py",
line 20, in get_template_path
with resources.path("aktools.assets", "html") as f:
File "C:\Users\Administrator\anaconda3\lib\contextlib.py", line 119, in ente
r
return next(self.gen)
File "C:\Users\Administrator\anaconda3\lib\importlib\resources.py", line 175,
in _path_from_reader
opener_reader = reader.open_resource(norm_resource)
File "", line 1055, in open_resource
PermissionError: [Errno 13] Permission denied: 'C:\Users\Administrator\anacon
da3\lib\site-packages\aktools\assets\html'
P_D-MB0:Desktop xan$ python3 -m aktools
请访问:http://127.0.0.1:8080/version 来获取最新的库版本信息,确保使用最新版本的 AKShare 和 AKTools
当前的 AKTools 版本为:0.0.83,AKShare 版本为:1.9.97
点击打开 HTTP API 主页:http://127.0.0.1:8080/
点击打开接口导览:http://127.0.0.1:8080/docs
/usr/bin/python: No module named uvicorn
P_D-MB0:Desktop xan$ lsof -i:8080
P_D-MB0:Desktop xan:Desktop xianxian$
open http://127.0.0.1:8080/version, show:
无法访问此网站127.0.0.1 拒绝了我们的连接请求。
请试试以下办法:
检查网络连接
检查代理服务器和防火墙
ERR_CONNECTION_REFUSED
目前看是要授权的,但量怎么在服务器里输入用户名密码呢?
aktools: 0.0.83
akshare: 1.10.19
py_mini-racer: 0.6
python: 3.10.10
OS: centos7-aarch64
RuntimeError: Native library not available at /usr/local/lib/python3.10/site-packages/py_mini_racer/libmini_racer.glibc.so
Exception ignored in: <function MiniRacer.del at 0x743dd9da20>
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/py_mini_racer/py_mini_racer.py", line 315, in del
self.ext.mr_free_context(getattr(self, "ctx", None))
AttributeError: 'NoneType' object has no attribute 'mr_free_context'
我只能通过127.0.0.1:8080或者Localhost:8080的方式访问,如果我用ip:端口的方式访问就不成功,因为我需要远程或虚拟机访问过来,为什么ip:端口方式访问不行呢,能否改一下
akshare最新版本,hurun_rank()接口报错:
hurun_rank_df = hurun_rank(indicator="胡润百富榜", year="2022")
r = requests.get(name_url_map[indicator])
KeyError: '胡润百富榜'
感谢作者的无私奉献,我已经装好并能运行,限于能力有限看了文档后仍然不知道具体如何使用,希望能给出一个完整的示例,非常感谢!
如题。就是说既然不用 akshare 那必然不是 python 环境,感觉有二进制包用起来更方便一些。
请问如何处理跨域问题
环境:python3.6
运行命令:python -m aktools,报下面的错误
/usr/bin/python: No module named aktools.main; 'aktools' is a package and cannot be directly executed
stock_news_em函数在akshare的python环境下调用正常,在docker部署后,以http访问:
http://192.168.1.61:8280/api/public/stock_news_em?symbol=002771
报错如下:
{
error: "请输入正确的参数错误 'cmsArticleWebOld',请升级 AKShare 到最新版本并在文档中确认该接口的使用方式:https://www.akshare.xyz"
}
docker 中的 akshare 已经升级到最新版本,错误依旧。
观察了下AKTools的接口基本都是爬虫型接口,不涉及CPU密集型,有哪位大大有空闲的服务器装下docker,我们也好直接调用啊.......不胜感激
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.