1. 为什么需要一个智能选股Web服务?
如果你和我一样,是个喜欢折腾的Python开发者,同时又对股票市场有点兴趣,那你肯定也想过:能不能用代码来帮我筛选股票?每天手动打开软件,输入一堆条件,翻来覆去地看,效率实在太低了。更别提想把筛选结果集成到自己的量化交易系统,或者做个手机App随时查看,没有个稳定的数据接口,简直是寸步难行。
这就是我们今天要解决的问题。同花顺的问财功能,相信很多朋友都用过,它就像一个强大的自然语言搜索引擎,你可以用大白话问它:“非ST、连续3天上涨、股价在60日均线以上的股票有哪些?”它就能给你一个列表。但是,这个功能被“锁”在了网页和客户端里,我们没法直接用程序去调用。手动复制粘贴?那和我们的“自动化”梦想背道而驰。
所以,我们的目标很明确:用Python把问财的“大脑”请出来,给它套上一个Web服务的外壳,变成一个随时待命、随叫随到的API接口。 这样一来,任何程序,无论是跑在服务器上的量化策略,还是你手机上的一个小工具,只要发一个HTTP请求,就能拿到符合复杂条件的股票列表。这个想法听起来是不是很酷?我当初就是这么被吸引,然后一步步踩坑、填坑,最终把它跑通的。整个过程,我会毫无保留地分享给你,从环境搭建到代码封装,再到部署上线,保证你跟着做就能拥有自己的智能选股服务。
2. 搭建你的开发环境:一步都不能错
万事开头难,环境配置是第一个拦路虎。我见过不少朋友在这里就放弃了,其实只要按顺序来,一点都不复杂。我们的技术栈很清晰:Node.js + Python + Flask + pywencai。下面我带你一步步走,把我踩过的坑都标出来。
2.1 搞定Node.js:为pywencai铺路
首先,你需要安装Node.js。这里有个关键点:pywencai这个库底层依赖一个叫jsdom的Node.js库来模拟浏览器环境,所以Node.js是必须的,而且版本不能太低。
- 下载安装:直接去Node.js官网(https://nodejs.org/)下载最新的LTS(长期支持版)。我写这篇文章时,版本是18.x,完全没问题。下载后一路“下一步”安装即可。
- 验证安装:安装完成后,打开你的命令行(Windows是CMD或PowerShell,Mac/Linux是Terminal)。输入以下命令:
如果分别显示了Node.js和npm(Node的包管理器)的版本号,比如node -v npm -vv18.19.0和10.2.3,恭喜你,第一步成功了。 - 安装关键依赖:接下来,我们需要全局安装
jsdom。在刚才的命令行里输入:
这个npm install -g jsdom-g参数代表全局安装,这样在任何地方Python都能找到它。这一步可能会花点时间,耐心等待完成。
注意:有些朋友的网络环境可能导致npm安装很慢或失败。别急,可以尝试设置淘宝的镜像源:
npm config set registry https://registry.npmmirror.com,然后再执行上面的安装命令,速度会快很多。
2.2 配置Python和虚拟环境
Python是我们的主力语言。我强烈建议使用Python 3.8到3.11之间的版本,兼容性最好。我用的就是3.10,非常稳定。
- 安装Python:从Python官网(https://www.python.org/downloads/)下载对应你操作系统的安装包。安装时,务必记得勾选“Add Python to PATH” 这个选项,这能省去后面手动配置环境变量的大麻烦。
- 使用虚拟环境:这是专业开发的好习惯,能避免不同项目间的包版本冲突。我习惯用
venv。- 在你喜欢的项目目录下(比如
D:\MyStockAPI),打开命令行。 - 创建虚拟环境:
python -m venv venv - 激活虚拟环境:
- Windows:
venv\Scripts\activate - Mac/Linux:
source venv/bin/activate激活后,命令行前面会出现(venv)的标识。
- Windows:
- 在你喜欢的项目目录下(比如
- 解决IDE找不到解释器的问题:如果你用PyCharm、VSCode这类工具,有时它们可能找不到你刚创建的虚拟环境。别慌,手动指定一下就好。在PyCharm里,打开
File -> Set


291

被折叠的 条评论
为什么被折叠?



