news 2026/8/25 23:57:18

PyWenCai:用 Python 调用同花顺问财,5 分钟搭好金融数据采集管道

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PyWenCai:用 Python 调用同花顺问财,5 分钟搭好金融数据采集管道

PyWenCai:用 Python 调用同花顺问财,5 分钟搭好金融数据采集管道

【免费下载链接】pywencai获取同花顺问财数据项目地址: https://gitcode.com/gh_mirrors/py/pywencai

PyWenCai 是一个 Python 金融数据获取工具,把同花顺问财的查询语句变成一行代码,让问财 API 调用直接返回结构化 DataFrame,覆盖股票、基金、港股、美股、期货等品种,适合量化研究中的数据自动化需求。

手动采数据的三个麻烦

在写代码之前,先看看不写代码是什么体验:登录问财网页版,输入"市盈率小于30且营收增长率大于20%",把结果表格复制出来,手动粘进 Excel 或 pandas 里,改个条件再重复一遍。一次还好,要做 50 个条件的回测、或者每天收盘后跑一遍,手动操作就成了明显的效率瓶颈。

PyWenCai 做的事很直接:你在问财输入框里敲的自然语言查询,它替你发请求、解析响应,最后交给你的是一张pandas.DataFrame。数据拿到手就能df.sort_values()、存 CSV、喂给回测框架,中间的抓取环节不用自己碰。

五分钟上手:装好依赖,一行代码拿数据

先装 Node.js v16+(库内部要执行一段 JS),再装包:

pip install pywencai

然后是一次最基本的 Python 获取股票数据调用:

import pywencai res = pywencai.get(query='市盈率小于30的股票', cookie='你的cookie') print(res.shape)

返回的就是 DataFrame,直接当表格用。如果查询结果是详情类内容(比如某个公司的财务分析),返回的是字典,里面可能是文本加若干张表。

能力速览:支持查什么、怎么控制

get()的参数决定了查询的行为,最常用的几项:

  • query:问财自然语言问句,必填
  • sort_key/sort_order:按结果列名排序,升序asc、降序desc
  • loopTrue时自动翻页拉全量,设数字n则只拉 n 页
  • sleep:循环请求时每次的间隔秒数
  • retry:单页请求失败的重试次数,默认 10
  • find:传代码列表(如['600519', '000010'])可把指定标的排到最前

资产类别通过query_type切换,支持 A股、指数、基金、港股、美股、新三板、可转债、保险、期货、外汇、理财共 11 类,同一个接口调用方式不变。

场景一:批量选股 📊

import pywencai res = pywencai.get( query='市盈率小于30且市净率小于2.5且净资产收益率大于15%', sort_key='总市值', sort_order='desc', loop=True, cookie='你的cookie' ) print(res[['股票简称', '市盈率(TTM)', '总市值']])

把筛选条件写进字符串,全市场一次过,条件组合怎么改都不需要重新打开浏览器,选股池的构建从手工活变成一行调用。

场景二:风险监测定时跑 ⚠️

import pywencai import pandas as pd delist = pywencai.get( query='退市风险提示', sort_key='退市@退市日期', sort_order='asc', cookie='你的cookie' ) risk = pywencai.get( query='连续三年净利润为负或资产负债率大于90%', cookie='你的cookie' ) watchlist = pd.concat([delist, risk], ignore_index=True)

两个查询分别盯退市风险和财务异常,合并成一张观察表后用 cron 每天收盘后执行,异常标的进表即提醒,不用人工每天翻公告。

场景三:跨市场数据对比 🌏

import pywencai import pandas as pd a = pywencai.get(query='沪深300成分股', query_type='stock', cookie='你的cookie') hk = pywencai.get(query='恒生指数成分股', query_type='hkstock', cookie='你的cookie') us = pywencai.get(query='标普500成分股', query_type='usstock', cookie='你的cookie') for name, df in [('A股', a), ('港股', hk), ('美股', us)]: print(name, df.shape)

query_type就能在 A股、港股、美股之间来回切,同一套代码框架做跨市场指数成分对比,省去分别登录三个平台导数的功夫。

实用进阶:三个绕不开的配置

  • Cookie 三分钟拿法:问财调整了登录策略,cookie现在是必填项。打开 wencai.com 登录,F12 进 Network 面板,任选一个请求,复制 Request Headers 里cookie字段的完整值传入即可(参考上文截图中的红箭头位置)。cookie 会过期,失效后重新复制一次。
  • 控制请求频率:批量查询时把sleep设为 1-2 秒。平台对高频调用有屏蔽机制,慢一点换来的是查询能稳定跑完,别用循环无间隔地刷。
  • 本地缓存:行情快照、指数成分这类数据按"查询条件 + 日期"做缓存键,命中本地文件就直接读,miss 了再发请求。pandas 的to_pickle加一个字典式查询参数足够应付大部分场景。

合规与风险提醒 ⚖️

  1. 本项目是开源社区的效率工具,并非同花顺官方出品,使用前请确认你的用途符合问财平台的用户协议。
  2. 低频使用是项目明确的原则,高频调用会触发屏蔽,调用前自行评估技术与法律风险。
  3. cookie 属于个人身份凭证,不要提交进代码仓库,也不要把拉取的敏感数据外泄。

写在最后

PyWenCai 把"打开网页、复制粘贴"这一段从数据流程里删掉了,剩下的分析、回测、监控全部可以在 Python 里连起来跑。项目遵循 MIT 协议,代码在仓库 pywencai(如需 clone 使用git clone https://link.gitcode.com/i/5681f47dc5bb242b890b27bb5a8de8b6),接口细节看 README 即可,也欢迎到社区的"数据与交易"星球交流使用心得。

【免费下载链接】pywencai获取同花顺问财数据项目地址: https://gitcode.com/gh_mirrors/py/pywencai

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 23:54:47

144、影像算法DSP/NPU Offloading——降噪/超分/语义分割算子在高通/联发科/海思平台的部署选择

144、影像算法DSP/NPU Offloading——降噪/超分/语义分割算子在高通/联发科/海思平台的部署选择 上个月在调试一台搭载骁龙8 Gen2的旗舰机,客户反馈夜景模式在暗光下预览帧率掉到18fps,而且发热明显。抓了systrace一看,罪魁祸首是自研的时域降噪算子——纯CPU跑,每帧耗时3…

作者头像 李华
网站建设 2026/8/25 23:48:01

Edge浏览器JavaScript脚本开发全攻略:从用户脚本到扩展与自动化

1. 从“脚本”到“开发”:Edge浏览器中JavaScript的定位与价值 如果你在Edge浏览器里用过油猴(Tampermonkey)或者暴力猴(Violentmonkey)这类插件,那你对“浏览器脚本”这个概念一定不陌生。点一下&#xf…

作者头像 李华
网站建设 2026/8/25 23:48:00

后端转Agent开发已上岸,我说说怎样学更容易找到工作 !

做了两年Agent开发,我自己就是从传统后端转过来的,实打实跳槽涨了30%。 我真心想说,网上的Agent教程真的太容易误导人了,搞得好像学点提示词、跑个本地Demo就能高薪上岗, 但企业真实落地开发,完全是另一个…

作者头像 李华
网站建设 2026/8/25 23:46:53

Python装饰器深度解析:从函数对象到实战应用

1. 从“为什么需要装饰器”说起:一个函数日志的经典困境如果你写过一段时间的Python,尤其是在开发需要调试或监控的Web服务、数据处理脚本时,大概率遇到过这个场景:你写了一个核心业务函数,比如process_data()&#xf…

作者头像 李华
网站建设 2026/8/25 23:45:18

071、6D位姿估计基础与PPF:点对特征的刚体配准原理

071、6D位姿估计基础与PPF:点对特征的刚体配准原理 调试机器人抓取的时候,最烦的不是模型精度不够,而是你明明把点云喂进去了,位姿输出却在天上飞。上周调一个工业件抓取,CAD模型是标准STEP导出的,场景点云是RealSense拍的,PPF跑出来旋转矩阵行列式居然是负的——一看就…

作者头像 李华