需求背景
周末闲聊之时,看了akshare的官方文档,之前都是通过python程序去调用数据,作为一个java开发者,我觉得甚是不太方便。认真看了一下文档,是我失敬了。大佬已经推出了aktools工具,这样就可以通过http请求调用大多数的接口,我们只有部署一个aktools即可,后面通过接口名即可灵活处理数据。官方文档非常简单
前提
需要提前安装好python的相关环境,这里看官们自行搜索,不在这里赘述
进入正题
- 安装aktools
pip install aktools
- 运行 aktools
python -m aktools
环境没有问题的情况下,运行之后会显示类似如下效果
运行之后,一般你不设置具体的运行IP和端口,默认就是运行在本地环境的8080端口下,这样外网就无法访问
设置外网可以访问
python -m aktools --host 你的IP --port 你的端口号
注意,用阿里云的centos的话,这里IP需要用对应的内网IP
开放端口,供外网访问
1、开启防火墙
systemctl start firewalld
2、开放指定端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 1935 //查看所有1935端口使用情况
阿里云安全组也需要开放对应的端口号
这个自行百度,一般玩云服务器的都知道在哪里
关闭终端之后,程序会终止
- 应对措施
需要在后台运行的话,写一个脚本,脚本格式为xxx.sh,内容如下:
python -m aktools --host 你的IP --port 你的端口号 &
变化就是在后面添加一个 &
运行脚本
进入到脚本目录,执行如下命令即可,这样关闭终端就不影响程序继续运行
sh xxx.sh
写在最后
这个对于akshare感兴趣的铁子们可以动手试一下,数据在自己手里,才能灵活分析。这里是"安前码后",一个专注分享实用内容的号,欢迎三连,后续继续推出搞钱的内容,技术不是天花板,搞钱才是王道。