返回 Skill 列表
extension
分类: 数据与分析无需 API Key

全能金融爬虫(优化爬取逻辑,新增语音交互)

中国金融机构数据爬取与分析综合 Skill v7.3.0。全量机构名单(2300+家,43大类)、 全网舆情(4 类 60+ 商业财经媒体源 + RSS 直连 + akshare 兜底)、A股报告/公告/研报、 结构化市场数据(期货/宏观/Shibor/港股美股)、深度类人浏览器爬取、真实风险指标分析、 定期报告解读(财报自动解读/同比环比/亮点风险/评分评级)。 🆕 v7.3.0 五大增强:机构名单完善(2301家/43类,新增 11 类持牌名录)、 智能多级爬取(API→HTTP→浏览器降级链+批量统计)、网页内容识别(表格/键值/条目/分页/数字)、 数据分析汇总(快照聚合/模糊去重/截面统计/Markdown 报告)、语音交互(Windows 零依赖 TTS/STT)。 v7.2.0 爬取硬化(承接):软拦截检测接线、Retry-After 遵从、URL 去重器(跨进程持久化)。 v7.1.0 定期报告解读(承接):财报自动解读,纯规则零依赖。 v7.0.0(承接):机构名单完成、网络拦截 API 挖掘、操作宏录制回放、异步并发标签池。 v6.0.0(承接):数据源商业化、浏览器深度类人化、真实 PDF/HTML 报告导出、zip 增量打包。 触发词:爬取机构、舆情爬取、全网舆情、网页爬取、智能爬取、内容识别、表格识别、 汇总分析、语音交互、语音爬取、公告下载、券商研报、批量爬取、定时爬取、文档分析、 东方财富、龙虎榜、北向资金、监管动态、搜索引擎、网页归档、类人爬取、数据回测、 结构化数据、期货、宏观经济、港股美股、风险指标、组合复刻、夏普比率等(完整触发词见下方 auto_trigger)。

person作者: user_9d5a2a39hubcommunity

cn-financial-scraper v7.3.0

中国大陆金融数据爬取与分析综合工具 v7.3.0 — 2301 家机构 / 43 大类 / 60+ 商业财经媒体源 / 67 MCP 工具

⚡ 快速上手(30 秒开始)

# 安装(自动使用国内镜像)
python setup_env.py --recommended

# 交互式对话(推荐)
python run_sentiment.py

# 命令行直接用
python run_sentiment.py "贵州茅台最近7天的舆情"
python run_sentiment.py "工银瑞信基金最近3天的负面新闻" --export excel

Windows 用户python run_sentiment.py 一键启动(交互式对话)。

# Python API
from scripts import parse_financial_product
result = parse_financial_product("https://fund.eastmoney.com/000001.html", "fund")
print(f"基金名称: {result['product_name']}")

🆕 v7.3.0 新增:五大增强

| 特性 | 说明 | 模块 | |------|------|------| | 机构名单完善 | 2270 → 2301 家 / 33 → 43 大类;新增 11 类持牌名录(地方 AMC/支付/评级/征信商查/相互保险/养老金/券商资管/金融基础设施/互联网小贷/证券咨询/第三方销售),同时清理历史重复行;修复扩充引擎边迭代边删除的潜在缺陷 | institution_expander.py data/curated.json | | 智能多级爬取 | SmartFetcher 三级降级链(API 直连→HTTP→浏览器兜底)+ 软拦截自动识别;batch_smart_crawl 批量并发 + 持久化去重 + 成功率/分域统计 | crawl_enhancer.py | | 网页内容识别 | 零依赖识别引擎:表格/键值块/文章条目/分页/金融数字抽取 + 页面类型判别(list/data/article/home)+ smart_extract 一站式;browser_pro.smart_page_extract 浏览器接线 | web_recognizer.py browser_pro.py | | 数据分析汇总 | 快照聚合 + 模糊去重(Jaccard×包含度)+ 情感/来源/时间分布 + 机构截面 + 机构简报 + Markdown/JSON 导出 | data_aggregator.py | | 语音交互 | 说一句话→语音识别→舆情引擎→语音播报;Windows SAPI 零依赖(PowerShell 5.1),可选 vosk/pyttsx3 升级;STT 不可用自动降级文本输入 | voice_interface.py run_voice.py | | MCP 工具 64→67 | smart_crawl_batch / recognize_webpage / aggregate_sentiment | mcp_server.py |

python run_voice.py                        # 语音交互模式(v7.3.0)
from scripts.crawl_enhancer import batch_smart_crawl      # 智能批量爬取
from scripts.web_recognizer import smart_extract          # 网页内容识别
from scripts.data_aggregator import aggregate_snapshots, export_markdown  # 汇总分析

<details> <summary>📜 v7.2.0 爬取硬化与 bug 修复(上一版本)</summary>

| 特性 | 说明 | 模块 | |------|------|------| | 软拦截检测接线 | 200 反爬页(验证码/访问被拒等短 HTML)自动识别为失败并多策略重试,避免脏数据入库 | http_utils.py anti_block_utils.py | | Retry-After 遵从 | 429/503 重试等待优先取服务端 Retry-After 声明(限幅 60s) | http_utils.py | | URL 去重器 | 批量爬取去重:归一化(host 小写/默认端口/fragment/尾斜杠)+ 跨进程 JSON 持久化 + 按域名统计 | anti_block_utils.py UrlDeduplicator | | 7 处 bug 修复 | 空 POST 退化为 GET;download_file 保存 4xx/5xx 错误页;HTTPError url property 冲突致 raise_for_status 崩溃;熔断 sleep 持全局锁阻塞其他域名;裸域名 reset 失效;过期 cookie 误保留 | 同上 |

</details>

🆕 v7.1.0 新增:定期报告分析解读

| 特性 | 说明 | 模块 | |------|------|------| | 财报自动解读 | 自动拉取东财 RPT_LICO_FN_CPD 财务数据(含同比/环比增速字段),规则引擎生成自然语言解读:业绩概览、盈利能力(ROE/毛利率)、现金流质量、✅亮点信号、⚠️风险提示、综合评分(0-100)与评级 | report_interpreter.py | | 多路输入 | interpret_stock(股票代码直连)/ interpret_data(任意财务 dict,中英文字段兼容)/ 离线多期序列 | 同上 | | 纯规则零依赖 | 阈值引擎 + 模板评语,无 LLM 依赖、无 pip 依赖,可嵌入批量巡检 | 同上 | | MCP 工具 | interpret_financial_report(64 个工具) | mcp_server.py |

<details> <summary>📜 v7.0.0 核心升级(上一版本)</summary>

v7.0.0 核心升级(上一版本)

| 特性 | 说明 | 模块 | |------|------|------| | 机构名单完成 | 1330 → 2270 家 / 33 大类;live 名录直连(基金 167/期货 181)+ 精选数据 + list 文件反向吸收;新增民营银行 19、外资法人银行 41、AMC 5、村镇银行 60、保险经纪 48、保险公估 36 等类型;名单数字口径与实际数据一致 | institution_expander.py data/curated.json | | 网络拦截 / API 挖掘 | 监听页面 XHR/fetch,自动捕获背后 JSON 接口 + 分页规律 → data/api_registry.json 去重累积,接口可 HTTP 直连复用 | browser_pro.py discover_api | | 操作宏 | JSON 操作序列录制(注入 JS 捕获真实交互)与 {{参数}} 回放;goto/click/fill/upload/download/drag/extract 等 15+ 动作 | browser_pro.py MacroPlayer | | 文件上传/下载/拖拽 | set_input_files / expect_download 落盘 / 类人拖拽 / contenteditable 富文本 / 键盘组合键 | browser_pro.py | | 异步并发标签池 | async_playwright + semaphore 多页并发批量抓取,sync 模式不变 | browser_pro.py AsyncBrowserPool | | gzip 自动解压 | urllib 响应自动解压 gzip/deflate/br(此前压缩流导致 json() 乱码) | http_utils.py | | A股名单双源容灾 | 东财 push2 多镜像轮换 + 新浪 Market_Center 兜底,5542 只入库(含北交所 335) | stock_list_updater.py | | 宏观零依赖直连 | CPI/PPI/PMI/GDP/M2 纯 HTTP 序列(akshare 缺失也可用),消除"新浪宏观待上线" | market_data_scraper.py | | 官网批量补全 | 多引擎搜索 + 可达性验证回填 URL,聚合域/政务域过滤,断点续跑 | url_completer.py | | MCP 工具 55→63 | discover_api / play_macro / browser_upload / browser_download / async_batch_fetch / expand_institutions / complete_institution_urls / update_stock_list | mcp_server.py |

</details> <details> <summary>📜 v6.0.0 核心升级(上一版本)</summary>

🆕 v6.0.0 核心升级

| 特性 | 说明 | 模块 | |------|------|------| | 数据源商业化 | 监管资讯改由东财/新浪/巨潮商业 API 提供;移除政府网站与官方媒体源(含 gov.cn 域名全项目清除) | regulatory_scraper.py scrapable_registry.py | | 媒体源扩充 | 新增和讯/金融界/凤凰财经/汇通/英为财情/智通/界面/蓝鲸/富途/阿思达克/上海有色等 12 家商业财经媒体 | data/sentiment_sources.json | | 浏览器深度类人化 | 阅读停顿(2-8s) / 4 种滚动模式 / iframe 合并 / 会话保持 / 验证码人工接管 / 随机悬停 / 多标签切换 / 粘贴式输入 / 崩溃自愈 | browser_scraper.py | | 反爬升级 | 封禁特征词库 20+ 中文/英文文案;UA 池与 Sec-CH-UA 更新至 Chrome 133 | anti_block_utils.py http_utils.py | | 解析智能 | readability 风格正文抽取 extract_main_content;JSON-LD 文章类型;选择器缓存置信度衰减重学 | web_parser.py | | 真实 PDF 导出 | Playwright 渲染 HTML → 真实 PDF(修复此前"仅提示手动转换");新增 HTML 网页版报告 | report_exporter.py | | zip 批量下载增强 | 并行爬取 / 进度回调 / 失败重试清单 failed.json / 增量去重打包 package_incremental | crawl_packager.py | | 测试 | 脱敏回归断言(gov.cn 零残留)+ 新增浏览器/导出/zip 测试 | tests/ |

</details> <details> <summary>📜 历史版本更新(v4.0 ~ v5.0)</summary>

v5.0 — 媒体源扩充与结构化数据

  • 媒体源 48 → 81 站点(后 v6.0 调整为 60+ 商业源);结构化数据(期货/宏观/Shibor/港股美股);浏览器 proxy/并发标签页;真实风险指标;新 MCP 工具 51→55

v4.9 — 应对数据源被封

  • akshare 兜底适配器 + RSS 数据源 + 反爬增强工具集(域限速/Cookie/错误码/TLS指纹/指数退避)

v4.7 — 8类数据 + 对比回测

  • 新增两融余额/大宗交易/ETF资金流/龙虎榜席位/股东增减持/LPR/国债收益率曲线/北交所
  • 同类数据横向对比与回测(4 维质量评分)+ 监管政策文件下载 + 浏览器类人爬取加固

v4.3 — 全网舆情爬虫(对话式)

  • 对话式 NLU 入口 + 4 类 60+ 商业财经媒体源 + 11 类目标机构 + 情感分类 + 多格式导出 + 定时任务

v4.2 — 浏览器自动化

  • Playwright 集成 + STEALTH_JS 反检测 + 类人操作

v4.1 — 海外机构 + 术语翻译

  • 9 大类 210 家全球金融机构 + 600+ 金融术语词典 + 腾讯云 TMT 翻译

v4.0 — 定时/打包/压缩/报告

  • 定期自动爬取 + 批量 ZIP + 内容智能压缩 + 增强文件解析 + 金融写作引擎 + 6 套报告模板 + 研究报告全流程生成
</details>

安装(三层依赖,按需选择)

python setup_env.py                # 核心层(零 pip 依赖,舆情/HTTP 可用)
python setup_env.py --recommended  # 推荐层 + bs4/lxml/docx/openpyxl(解析+导出)
python setup_env.py --full         # 全功能 + scrapling/playwright/mcp/akshare

| 你想做什么 | 需要的依赖层级 | 安装命令 | |---|---|---| | 舆情监控、机构查询、HTTP 爬取、行情数据 | 核心层 | python setup_env.py | | PDF/Word/Excel 解析、报告导出 | 推荐层 | python setup_env.py --recommended | | 动态页面爬取、浏览器自动化、类人操作 | Playwright | pip install playwright && playwright install chromium | | 期货/宏观/Shibor/港股美股结构化数据 | akshare | pip install akshare | | 全部功能 | 全功能 | python setup_env.py --full |

安装验证

python -c "from scripts import search_institution; print('安装成功!')"

MCP 工具

通过 MCP 协议暴露 67 个工具,可直接在 Claude Code 中调用:

| 工具 | 功能 | |------|------| | query_institution | 查询机构名单(按类型/关键词) | | smart_crawl_batch | 🆕 智能批量爬取(API→HTTP→浏览器降级 + 去重 + 成功率统计) | | recognize_webpage | 🆕 网页内容识别(表格/键值/条目/分页/数字/页面类型) | | aggregate_sentiment | 🆕 舆情快照汇总分析(去重/统计/截面,可导出 Markdown) | | discover_api | 🆕 网络拦截挖掘页面背后 JSON 接口(含分页规律) | | play_macro | 🆕 回放网页操作宏({{参数}} 替换) | | browser_upload | 🆕 文件上传(选择器+提交) | | browser_download | 🆕 文件下载落盘到 data/downloads/ | | async_batch_fetch | 🆕 异步并发批量抓取(多标签页池) | | expand_institutions | 🆕 机构名单扩充(live+精选+list 三路合并) | | complete_institution_urls | 🆕 机构官网批量补全(断点续跑) | | update_stock_list | 🆕 A股全量名单更新(双源容灾) | | interpret_financial_report | 🆕 定期报告分析解读(业绩/盈利/现金流/亮点/风险/评分评级) | | scrape_webpage | 爬取指定 URL | | scrape_institution | 按机构名爬取官网 | | parse_financial_product | 解析基金/ETF/股票/债券页面 | | crawl_financial_news | 最新金融新闻 | | search_announcements | 搜索公告 | | download_announcement | 下载公告 PDF | | query_broker_reports | 券商研报查询 | | get_company_reports | 上市公司综合报告 | | parse_document | PDF/Word/Excel 解析 | | export_stock_report | 导出 PPT/PDF/Word/Excel | | batch_crawl_institutions | 批量爬取机构 | | search_report_index | 全量报告索引搜索 | | analyze_document | 深度分析金融文档 | | organize_documents | 批量整理文档目录 | | compare_documents | 多文档并排对比 | | get_stock_realtime | A 股实时行情 | | get_fund_nav_history | 基金历史净值 | | crawl_cls_telegraph | 财联社 7x24 电报 | | get_convertible_bond_data | 可转债数据 | | 🆕 schedule_crawl_task | 创建定期自动爬取任务 (v4.3 扩展支持 crawl_sentiment / crawl_sentiment_export) | | 🆕 list_scheduled_tasks | 查看所有定时任务及状态 | | 🆕 cancel_scheduled_task | 取消/暂停/恢复定时任务 | | 🆕 batch_crawl_and_package | 批量爬取+自动打包 ZIP | | 🆕 compress_crawl_results | 分析压缩爬取结果为 2-3 页摘要 | | 🆕 parse_file_enhanced | 增强文件解析(PPT/HTML/Markdown) | | 🆕 analyze_file_deep | 深度文件分析(主题/财务/风险) | | 🆕 generate_research_report | 生成图文并茂的研究报告 | | 🆕 export_research_report | 导出报告为 Word/PPT/HTML/PDF | | 🆕 quick_crawl_summary | 一键快速爬取+压缩摘要 | | 🆕 crawl_global_sentiment | v4.3 一键全网舆情爬取(单/多机构 + 多媒体 + 情感筛选) | | 🆕 export_sentiment_report | v4.3 导出舆情快照为 Word/Excel/CSV/JSON | | 🆕 list_sentiment_targets | v4.3 查看 12 大类目标机构库 | | 🆕 list_sentiment_sources | v4.3 查看媒体源(4 类商业财经媒体) | | 🆕 add_sentiment_target | v4.3 新增自定义舆情目标 | | 🆕 analyze_risk_metrics | v5.0 真实风险指标分析(年化/波动/回撤/夏普/卡玛) | | 🆕 analyze_product | v5.0 产品综合分析(风格/组合复刻/相似推荐) | | 🆕 analyze_portfolio_replication | v5.0 组合复刻分析 | | 🆕 get_structured_data | v5.0 结构化市场数据(期货/宏观/Shibor/港股美股) |

项目结构

核心模块(必装)

cn-financial-scraper/
├── SKILL.md                      # Skill 完整说明(含FAQ和场景演示)
├── README.md                     # 本文件
├── setup_env.py                  # 一键安装脚本
├── mcp_server.py                 # MCP 服务器(67 个工具)
├── requirements.txt              # Python 依赖
├── _meta.json                    # 元数据
│
├── scripts/                      # 核心脚本
│   ├── __init__.py              # 包初始化
│   ├── http_utils.py            # HTTP 公共基础设施(限流/重试/缓存)
│   ├── scraper.py               # 基础爬虫(三级降级+自动重试)
│   ├── web_parser.py            # 网页解析(基金/ETF/FOF/股票)
│   ├── institution_scraper.py   # 机构爬虫
│   ├── announcement_scraper.py  # 公告爬取
│   └── data_validator.py        # 数据完整性验证
│
└── data/                         # 数据文件
    ├── institution_registry.json # 2301 家机构注册表(43 大类)
    └── *_list.json              # 各类机构名单(43类)

扩展模块(按需使用)

scripts/
├── research_report_scraper.py    # 券商研报(评级/分析师/目标价)
├── comprehensive_report_scraper.py # 综合报告统一入口
├── company_report_scraper.py     # 上市公司年报/半年报/季报
├── news_scraper.py               # 新闻爬取(东方财富/同花顺)
├── document_parser.py            # 文档解析(PDF/Word/Excel)
├── document_analyzer.py          # 文档分析整理(深度分析+批量整理+对比)
├── report_exporter.py            # 报告导出(PPT/PDF/Word/Excel)
├── batch_institution_crawler.py  # 批量爬取(并发+断点续爬)
├── report_indexer.py             # 全量报告索引(SQLite+断点续扫)
├── analyzer.py                   # 产品分析(风险指标+投资风格)
├── visualization_reporter.py     # 可视化报告(ASCII图表)
├── realtime_monitor.py           # 实时监控(动态页面检测)
├── full_institution_crawler.py   # 全量爬虫(从监管机构获取)
├── institution_updater.py        # 季度自动更新
├── scrapable_registry.py         # 可爬取机构注册表

# 🆕 v4.0 新增模块
├── crawl_scheduler.py            # 定期自动爬取调度引擎
├── crawl_packager.py             # 批量爬取结果 ZIP 打包
├── content_compressor.py         # 内容智能压缩(2-3页精华摘要)
├── enhanced_parser.py            # 增强文件解析(PPT/HTML/Markdown/CSV)
├── financial_writer.py           # 金融分析写作引擎 + ChartBuilder
├── report_templates.py           # 6套金融报告模板库
├── research_report_generator.py  # 研究报告全流程生成器
├── sentiment_chat.py             # 对话式舆情 NLU 入口
├── sentiment_crawler.py          # 全网舆情爬虫(60+ 商业财经媒体源)
├── sentiment_exporter.py         # 舆情报告导出
├── search_engine.py              # 百度/搜狗/DDG 多引擎搜索
├── structured_market_data.py     # 结构化市场数据(期货/宏观/Shibor)
├── analyzer.py                   # 真实风险指标分析(v5.0 重写)
├── browser_scraper.py            # 浏览器类人爬取(v5.0 增强)
├── akshare_fallback.py           # akshare 兜底适配器
└── http_utils.py                 # HTTP 公共基础设施(限流/重试/缓存)

# 🆕 v7.3.0 新增模块
├── crawl_enhancer.py             # 智能多级爬取(API→HTTP→浏览器降级链 + 批量统计)
├── web_recognizer.py             # 网页内容识别(表格/键值/条目/分页/数字)
├── data_aggregator.py            # 数据分析汇总(快照聚合/去重/截面/导出)
└── voice_interface.py            # 语音交互(Windows SAPI 零依赖,可选 vosk)
# 入口:run_voice.py(语音循环)

模块功能速查

| 需求 | 使用模块 | 示例 | |------|----------|------| | 查询机构名单 | institution_scraper.py | search_institution("华夏基金") | | 解析基金/股票 | web_parser.py | parse_financial_product(url, "fund") | | 下载公告 | announcement_scraper.py | AnnouncementManager().search("贵州茅台") | | 查询研报 | research_report_scraper.py | BrokerReportManager().query("600519") | | 批量爬取 | batch_institution_crawler.py | BatchInstitutionCrawler().crawl_by_type("基金") | | 生成报告 | report_exporter.py | ReportExporter().export_to_ppt(data) | | 文档分析 | document_analyzer.py | DocumentAnalyzer().analyze("report.pdf") | | 数据验证 | data_validator.py | python scripts/data_validator.py | | 🆕 定期自动爬取 | crawl_scheduler.py | create_scheduled_task("每日新闻", "daily") | | 🆕 批量打包ZIP | crawl_packager.py | batch_crawl_and_package(names="华夏基金") | | 🆕 内容压缩摘要 | content_compressor.py | compress_content(source, focus="财务") | | 🆕 增强文件解析 | enhanced_parser.py | parse_file_enhanced("slides.pptx") | | 🆕 金融写作 | financial_writer.py | generate_report(data, template_id="stock_research") | | 🆕 报告模板 | report_templates.py | render_template("fund_evaluation", data) | | 🆕 研究报告生成 | research_report_generator.py | generate_research_report("600519", "stock_research") |

全量金融机构名单(2301 家 / 43 大类)

| 文件 | 内容 | 数量 | |------|------|------| | data/institution_registry.json | 统一注册表(含 URL) | 2301 家 | | data/state_owned_bank_list.json | 国有大型商业银行 | 9 家 | | data/joint_stock_bank_list.json | 股份制商业银行 | 12 家 | | data/policy_bank_list.json | 政策性银行 | 3 家 | | data/city_commercial_bank_list.json | 城市商业银行 | 157 家 | | data/rural_commercial_bank_list.json | 农村商业银行 | 167 家 | | data/private_bank_list.json | 🆕 民营银行 | 19 家 | | data/foreign_bank_list.json | 🆕 外资法人银行 | 41 家 | | data/fund_company_list.json | 基金管理公司 | 167 家 | | data/securities_list.json | 证券公司 | 131 家 | | data/insurance_list.json | 保险公司 | 181 家 | | data/trust_company_list.json | 信托公司 | 67 家 | | data/private_fund_list.json | 私募基金管理公司 | 64 家 | | data/foreign_institution_list.json | 外资金融机构 | 60 家 | | data/futures_list.json | 期货公司 | 181 家 | | data/futures_risk_mgmt_list.json | 期货风险管理子公司 | 94 家 | | data/finance_company_list.json | 企业集团财务公司 | 201 家 | | data/insurance_asset_list.json | 保险资产管理公司 | 34 家 | | data/consumer_finance_list.json | 消费金融公司 | 40 家 | | data/financing_guarantee_list.json | 融资担保公司 | 30 家 | | data/financial_lease_list.json | 金融租赁公司 | 94 家 | | data/auto_finance_list.json | 汽车金融公司 | 41 家 | | data/wealth_management_list.json | 银行理财子公司 | 33 家 | | data/fund_subsidiary_list.json | 基金子公司 | 41 家 | | data/financial_holding_list.json | 金融控股公司 | 63 家 | | data/third_party_list.json | 第三方销售机构 | 43 家 | | data/reinsurance_list.json | 再保险公司 | 11 家 | | data/money_broker_list.json | 货币经纪公司 | 6 家 | | data/aic_list.json | 金融资产投资公司(AIC) | 5 家 | | data/amc_list.json | 🆕 金融资产管理公司 | 5 家 | | data/village_bank_list.json | 🆕 村镇银行 | 60 家 | | data/insurance_broker_list.json | 🆕 保险经纪公司 | 48 家 | | data/insurance_assessor_list.json | 🆕 保险公估公司 | 36 家 | | data/city_investment_list.json | 城投机构 | 102 家 | | data/local_amc_list.json | 🆕 地方资产管理公司 | 17 家 | | data/payment_list.json | 🆕 支付机构 | 12 家 | | data/credit_rating_list.json | 🆕 信用评级机构 | 11 家 | | data/credit_service_list.json | 🆕 征信与商查机构 | 5 家 | | data/mutual_insurance_list.json | 🆕 相互保险组织 | 4 家 | | data/pension_mgmt_list.json | 🆕 养老金管理公司 | 8 家 | | data/wm_subsidiary_list.json | 🆕 券商资管子公司 | 6 家 | | data/financial_infra_list.json | 🆕 金融基础设施机构 | 7 家 | | data/internet_loan_list.json | 🆕 互联网小贷公司 | 4 家 | | data/securities_consulting_list.json | 🆕 证券投资咨询机构 | 1 家 |

口径说明:v7.0.0 起名单数字 = 实际 JSON 数据条数(此前部分类型 count 字段为宣称值,已修正)。 扩充引擎 scripts/institution_expander.py 支持 live 名录直连(基金/期货)、 curated 精选数据(data/curated.json,28 类合并单文件)与 list 文件反向吸收三路合并去重。

python -m scripts.scrapable_registry stat          # 统计
python -m scripts.scrapable_registry list 基金管理公司  # 按类列出
python -m scripts.scrapable_registry search 华夏     # 关键词搜索

🆕 v4.3 全网舆情爬虫 — 实战场景

场景 A — 单机构 + 单一情感(对话式)

"帮我爬一下贵州茅台最近7天的舆情"

from scripts import chat_handle
print(chat_handle("帮我爬一下贵州茅台最近7天的舆情")["reply"])

对话式触发后,引擎自动完成:

  1. 抽取目标:贵州茅台(listed_company)
  2. 媒体默认:authoritative + financial_vertical
  3. 时间窗:7 天
  4. 情感:负面优先(用户用了"舆情" 一词)
  5. 输出:对话提示 + data/sentiment_snapshots/<id>.json

场景 B — 多机构 + 负面新闻 + 多格式导出

"看下华夏基金、招商银行、中国人寿过去3天的负面新闻,并导出 Excel/Word"

from scripts import crawl_sentiment, export_sentiment
snap = crawl_sentiment(
    targets=["华夏基金", "招商银行", "中国人寿"],
    days=3, negative_only=True,
    source_categories=["authoritative", "financial_vertical"],
)
outputs = export_sentiment(snap, fmt="all")
for k, v in outputs.items():
    print(k, v)

场景 C — 定时任务

"每天早上 9 点爬一下银行的舆情并导出全部格式"

schedule_crawl_task(
    name="每日银行舆情",
    frequency="daily",
    action="crawl_sentiment_export",
    sentiment_categories=["commercial_bank"],
    sentiment_source_categories=["authoritative", "financial_vertical"],
    sentiment_negative_only=True,
    sentiment_export_format="all",
)

场景 D — 类别查看 / 自定义目标

from scripts import list_sentiment_targets, add_custom_sentiment_target
print(list_sentiment_targets())
add_custom_sentiment_target("custom", "恒生电子")

CLI 调试

python -m scripts.sentiment_crawler --stats
python -m scripts.sentiment_crawler --list-sources
python -m scripts.sentiment_crawler --list-targets
python -m scripts.sentiment_crawler     --categories fund_company,listed_company     --source-categories authoritative,financial_vertical     --days 7 --negative-only --max 30

严重度阈值

| 严重度(正面) | 阈值(情感分数) | |----------------|------------------| | 低度利好 | 6 – 14 | | 中度利好 | 15 – 29 | | 重大利好 | ≥ 30 |

| 严重度(负面) | 阈值 | |----------------|------| | 低度关注 | 6 – 11 | | 中度舆情 | 12 – 24 | | 高危舆情 | ≥ 25 |

能力边界

| 类别 | 说明 | |------|------| | ✅ 完全支持 | 机构名单查询、基金/ETF/FOF/股票产品解析、A股公告搜索下载、券商研报、新闻资讯、舆情监控、批量爬取(断点续爬)、文档解析(PDF/Word/Excel/PPT/HTML)、报告导出(Word/PPT/Excel)、风险指标分析、结构化市场数据(期货/宏观/Shibor) | | ❌ 不支持 | 需登录的页面(如微信公众号后台、券商内部系统)、付费墙内容(如 Wind 终端数据)、实时 WebSocket 推送、移动端 APP 内嵌页面、验证码自动破解(需第三方打码服务) | | ⚠️ 部分支持 | 动态渲染页面(需 Playwright,用 mode="realtime")、反爬极严的网站(如某些银行官网,成功率 30-50%)、大批量爬取(需控并发 ≤5 + 断点续爬)、海外网站(需代理,部分有地域限制) |

预期成功率:天天基金 95%+ / 东方财富 90%+ / 同花顺 85%+ / 基金公司官网 70-90% / 银行官网 30-50% / 反爬严格的网站 20-40%。

💡 提示:如果你的目标网站反爬严格,建议先用 mode="realtime" 走浏览器,配合 proxy 和低频率(≥3 秒/请求)。

数据验证

# 验证数据完整性
python scripts/data_validator.py

# 验证结果示例
# ✅ institution_registry.json: 验证通过,共 1330 家机构
# ✅ fund_company_list.json: 验证通过,共 160 家机构
# ...
# 📈 汇总: 28/28 通过

❓ 常见问题(FAQ)

📘 更多故障排查见 TROUBLESHOOTING.md(9 个章节 / 30+ 个解法 / 错误码速查表) 🔒 安全审计与漏洞披露见 SECURITY.md

🔥 高频问题

| 问题 | 解决方案 | |------|----------| | 舆情爬取返回空 | 1)检查目标名称(list_sentiment_targets);2)扩大时间范围(days=7);3)增加媒体源类别 | | 结构化数据返回 None | 需安装 akshare:pip install akshare,未装时自动返回 None 不报错 | | 动态页面爬不到内容 | 默认 mode="static" 只走 HTTP,SPA 页面需 mode="realtime"(需 Playwright) | | 银行官网成功率低 | 银行反爬严格(30-50%),建议:浏览器模式 + proxy + 低频率(≥3秒/请求) | | pip 安装很慢 | 国内镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt | | ModuleNotFoundError: playwright | pip install playwright && playwright install chromium |

安装问题

| 问题 | 解决方案 | |------|----------| | playwright 安装失败 | 运行 playwright install --with-deps chromium,或设置镜像 set PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright | | 模块找不到 | 运行 pip install -r requirements.txt | | 多 Python 环境冲突 | 详见 TROUBLESHOOTING.md §1.4 |

爬取问题

| 问题 | 解决方案 | |------|----------| | 返回空数据 | 使用动态渲染:mode="realtime" | | 频繁超时 | 增加超时时间:timeout=60 | | 验证码拦截 | 降低爬取频率,稍后重试;或接入第三方打码服务 | | IP 被封 403 | 暂停 5-10 分钟 + 切换代理 + 降频(详见 TROUBLESHOOTING.md §3.1) | | 中文乱码 | 用 decode_response() 自动嗅探编码(详见 TROUBLESHOOTING.md §4.1) |

支持的数据源

| 类型 | 平台 | |------|------| | 实时行情 | 🆕 新浪财经 (hq.sinajs.cn) | | 快讯电报 | 🆕 财联社 (cls.cn) | | 深度分析 | 🆕 华尔街见闻 (wallstreetcn.com) | | 可转债 | 🆕 集思录 (jisilu.cn) | | 官方公告 | 上交所/深交所 (sse.com.cn/szse.cn) | | 基金 | 天天基金、东方财富、各基金公司官网 | | ETF | 各大交易所、天天基金 | | 公告 | 天天基金、巨潮资讯 | | 研报 | 东方财富研报中心 | | 新闻 | 东方财富、同花顺、财联社 | | 行情 | 雪球 (xueqiu.com) | | 组合 | 且慢、蛋卷基金、雪球 | | 宏观 | 🆕 CPI/PPI/PMI/GDP/M2 零依赖 HTTP 直连(东财 datacenter)+ akshare 兜底 |

许可证

MIT License