finviz-api 2.0重磅更新:修复9大核心功能,Python 3.10+必学特性

【免费下载链接】finviz Unofficial API for finviz.com 【免费下载链接】finviz 项目地址: https://gitcode.com/gh_mirrors/fi/finviz

finviz-api 2.0版本已正式发布!作为finviz.com的非官方API,本次重大更新带来了9大核心功能修复、全面的测试套件以及对Python 3.10+的强力支持,为股票市场数据分析提供了更稳定、更强大的工具支持。

🚀 为什么选择finviz-api 2.0?

finviz-api 2.0解决了因FinViz网站2024年底重大DOM结构变更导致的所有数据抓取问题。新版本不仅完全重构了核心数据提取逻辑,还引入了全面的测试体系和现代化的开发工具链,让金融数据获取从未如此简单可靠。

✨ 核心功能修复亮点

1. get_stock():90+数据点完整提取

完全重写的股票数据提取函数,现在能稳定返回90+关键财务指标。通过更新的选择器系统(如quote-header_ticker-wrappersnapshot-td2),解决了之前数据为空或不完整的问题,特别是波动率数据现在能正确区分周/月组件。

2. Screener:全类型表格完美解析

修复了表格解析和表头提取逻辑,现在能正确从<th>元素提取表头信息,确保表格数据与表头完美对齐。支持所有表格类型:概览(Overview)、估值(Valuation)、财务(Financial)、所有权(Ownership)、表现(Performance)和技术(Technical)分析。

3. get_news():时间戳智能解析

更新了时间戳解析系统,支持"Today HH:MMAM/PM"和"Mon-DD HH:MMAM/PM"等新格式,统一返回YYYY-MM-DD HH:MM标准格式,让新闻时间序列分析更加便捷。

4. get_insider():新表格结构适配

针对FinViz新的styled-table-new表格类进行了优化,从thead th元素提取表头,确保所有内幕交易数据字段准确解析。

5. get_analyst_price_targets():分析师评级精准获取

适配新的js-table-ratings表格类,正确解析分析师信息、评级和价格目标数据,为投资决策提供关键参考。

🐍 Python 3.10+特性深度整合

finviz-api 2.0全面拥抱Python现代特性,要求Python 3.10或更高版本。这一决策带来了多项优势:

  • 利用结构模式匹配(Structural Pattern Matching)优化DOM解析逻辑
  • 增强的类型提示支持,提高代码可读性和IDE支持
  • 更好的异步处理能力,提升数据获取效率

🔧 开发与测试体系升级

全面测试套件

新版本引入了完整的测试体系,确保API稳定性:

  • test_stock.py:全面测试所有股票相关函数
  • test_screener.py:验证筛选器功能的正确性
  • test_integration.py:端到端工作流测试
  • 内置速率限制机制,尊重FinViz服务器负载

测试代码位于项目的tests/目录下,开发者可以通过这些测试用例深入了解API的使用方法和边界情况。

现代化开发配置

项目采用现代化的开发工具链,配置文件位于pyproject.toml

  • pytest:强大的测试框架
  • ruff:超高速Python代码检查器
  • mypy:静态类型检查,提升代码质量

📦 快速开始使用指南

1. 安装最新版本

pip install --upgrade finviz-api

2. 基本使用示例

获取股票数据:

from finviz.main_func import get_stock

# 获取苹果公司股票数据
stock_data = get_stock('AAPL')
print(stock_data['P/E'])  # 打印市盈率
print(stock_data['Forward P/E'])  # 打印远期市盈率

使用筛选器:

from finviz.screener import Screener

# 创建筛选器实例
screener = Screener(filters=['exch_nasd', 'cap_large'], table='Performance')

# 获取并打印结果
for stock in screener.data:
    print(f"{stock['Ticker']}: {stock['Performance (Week)']}")

🛠️ 开发者注意事项

FinViz网站在2024年底进行了重大更新,主要变化包括:

  • 表头从<td>元素迁移到<th>元素
  • 新增CSS类:styled-table-newsnapshot-td2quote-header_ticker-wrapper
  • 新闻部分采用新的时间戳格式
  • 分析师评级表格结构重组

这些变更直接导致旧版本API失效,而finviz-api 2.0通过全面重构完美解决了这些问题,确保数据获取的稳定性和准确性。

📝 版本更新说明

finviz-api 2.0是自2019年初始版本以来最重大的更新,解决了1.4.x版本中存在的所有已知问题,包括股票数据返回空值、筛选器无结果、新闻时间戳解析错误和内幕交易数据提取失败等关键问题。

通过本次更新,finviz-api重新确立了其作为FinViz数据提取工具的领先地位,为金融市场分析人员和开发者提供了可靠、高效的数据获取解决方案。无论是量化交易策略开发还是金融市场研究,finviz-api 2.0都将成为您不可或缺的得力助手。

【免费下载链接】finviz Unofficial API for finviz.com 【免费下载链接】finviz 项目地址: https://gitcode.com/gh_mirrors/fi/finviz

更多推荐