name: cn-financial-scraper version: 7.1.0 description: | 中國金融機構資料爬取與分析綜合 Skill v7.1.0。全量機構名單(2270+家,33大類)、 全網輿情(4 類 60+ 商業財經媒體源 + RSS 直連 + akshare 兜底)、A股報告/公告/研報、 結構化市場資料(期貨/宏觀/Shibor/港股美股)、深度類人瀏覽器爬取、真實風險指標分析、 定期報告解讀(財報自動解讀/同比環比/亮點風險/評分評級)。
🆕 v7.1.0 核心升級: - 定期報告解讀:財報自動解讀(業績概覽/同比環比/ROE/毛利率/現金流/亮點/風險/評分評級),純規則零依賴
v7.0.0 核心升級(承接):機構名單完成(1330→2270家/33類)、網路攔截 API 挖掘、 操作宏錄製回放、檔案上傳下載拖拽、非同步併發標籤池、gzip 解壓、A股名單雙源容災、 宏觀 5 指標零依賴直連、機構官網批次補全。
v6.0.0 核心升級(承接):資料來源全面商業化(移除 gov.cn 官媒源)、瀏覽器深度類人化、 解析智慧、真實 PDF/HTML 報告匯出、zip 增量打包。
觸發詞:爬取機構、輿情爬取、全網輿情、網頁爬取、產品解析、公告下載、券商研報、 批次爬取、定時爬取、文件分析、東方財富、龍虎榜、北向資金、監管動態、搜尋引擎、 網頁歸檔、類人爬取、資料回測、效能最佳化、結構化資料、期貨、宏觀經濟、港股美股、 風險指標、組合復刻、夏普比率等(完整觸發詞見下方 auto_trigger)。 auto_trigger: keywords: [爬取機構, 機構名單, 網頁爬取, 產品解析, 公告下載, 券商研報, 研報匯出, 批次爬取, 公司批次, 新聞資訊, 上市公司報告, 機構更新, 金融資料, 文件分析, 整理文件, 文件對比, 基金分析, 基金淨值, 淨值查詢, 年報, 季報, 半年報, 股票分析, 產品對比, 機構查詢, 定時爬取, 自動爬取, 打包下載, ZIP匯出, 壓縮摘要, 提取關鍵資訊, 生成報告, 撰寫報告, 研報生成, 研究報告, 圖表生成, 報告匯出, 檔案解析, PPT解析, HTML解析, 金融寫作, 全網輿情, 輿情爬取, 輿情監測, 網路輿情, 爬取輿情, 爬取負面, 爬取正面, 爬取利空, 利好新聞, 負面新聞, 對話式輿情, 輿情定時, 自定義目標, 增加目標, 東方財富, 龍虎榜, 北向資金, 監管動態, 監管處罰, 巨潮資訊, 基金淨值排行, 主權基金, 全球金融機構, 網頁歸檔, 全頁抓取, 歸檔網頁, 網頁存檔, 搜尋爬取, 搜尋抓取, 搜尋引擎搜尋, 資料回測, 回測驗證, 確認爬取, 類人爬取, 模擬瀏覽, 併發爬取, 加速爬取, 回測過濾, 回測彙總, 樣本預覽, 輸入校驗, 風險提示, 結構化資料, 期貨行情, 期貨資料, 宏觀經濟, GDP資料, CPI資料, Shibor, 同業拆借, 港股行情, 美股行情, 風險指標, 夏普比率, 最大回撤, 組合復刻, 相似基金, API挖掘, 介面挖掘, 網路攔截, 操作宏, 宏錄製, 宏回放, 宏檔案, 檔案上傳, 檔案下載, 網頁拖拽, 富文本輸入, 組合鍵, 併發抓取, 併發池, 名單擴充, 擴充機構, 官網補全, 補全官網, A股名單, 上市公司名單更新, 定期報告解讀, 財報解讀, 年報解讀, 半年報解讀, 季報解讀, 業績解讀, 財報分析, 業績分析, 財務解讀, 年報分析, 中報解讀, 一季報解讀, 三季報解讀, 財務點評] patterns: - "(爬取|獲取|看下|看看|查)(機構|公司|銀行|基金|券商|保險)(的|這|那)?(輿情|新聞|資訊|報道)?" - "(爬取|匯出|生成)\s\S(word|excel|docx|xlsx|報告|表格)" - "(正面|負面|輿情|利空|利好|網評|新聞|資訊)\s(資訊|報道|新聞|訊息|輿情)" - "(指定|設定)?(定時|每天|每週|每月|每小時)?\s爬取.{0,8}輿情" - "(新增|新增|新建)\s(自定義)?\s(目標|機構|公司)" - "(輿情|新聞)\s(匯出|生成|報告)" - "(東方財富|龍虎榜|北向資金|監管|巨潮資訊|基金淨值)" - "(查|搜|爬)(全球|海外|國外)\s(金融機構|央行|監管|交易所)" - "(歸檔|儲存|下載|抓取)\s(網頁|頁面|文章|全文)" - "(搜尋|查詢|搜一下)\s.{0,10}(新聞|資訊|輿情|報道|年報)" - "(回測|驗證|核實)\s.{0,5}(資料|內容|資訊|新聞)" - "(併發|加速|多執行緒)\s.{0,5}(爬|抓)" - "(過濾|丟棄|篩選)\s.{0,5}(低質量|無效|失真)" - "(期貨|宏觀|港股|美股|Shibor|同業)\s(資料|行情|利率|指標)" - "(風險指標|夏普|回撤|組合復刻|相似基金)\s*(分析|計算|推薦)?"
全量機構名單(2270+家/33大類) | 全網輿情(60+ 商業財經媒體源 + RSS + akshare 兜底) | A股報告/公告/研報 | 結構化市場資料 | 深度類人瀏覽器爬取 | 真實風險指標分析
直接對話即可觸發,無需記憶命令:
幫我爬一下某上市公司最近7天的輿情
某基金公司最近3天的負面新聞,並匯出 Excel
把這篇網頁完整歸檔,包含圖片和表格
搜尋"貴州茅臺2026半年報"然後把結果爬取下來
爬一下銀行板塊最近3天的輿情並匯出 Word
一鍵啟動(Windows 直接 python run_sentiment.py 或):
python run_sentiment.py # 互動式對話
python run_sentiment.py "貴州茅臺最近7天的輿情" # 直接命令列
無需記憶命令,按「想做什麼」直接找到入口。完整 API 與 MCP 工具表見 README.md。
| 你想做什麼 | 直接入口 | 依賴 |
|---|---|---|
| 爬某公司/機構最近 N 天輿情 | crawl_global_sentiment 或 python run_sentiment.py "XX最近7天輿情" |
核心 |
| 查機構名單 / 機構資訊 | query_institution / search_institution |
核心 |
| 爬單個網頁內容 | scrape_webpage(url) |
核心 |
| 動態頁面 / 類人瀏覽 / 驗證碼接管 | browser_human_fetch(url)(需 Playwright) |
Playwright |
| 搜公告 / 券商研報 / 公司財報 | search_announcements |
推薦 |
| 股票 / 基金 / 可轉債即時行情 | get_stock_realtime |
核心 |
| 期貨 / 宏觀(GDP·CPI·PPI·PMI) / Shibor / 港股美股 | get_structured_data |
akshare |
| 風險指標(年化/波動/回撤/夏普/卡瑪) | analyze_risk_metrics / calculate_risk_metrics |
推薦 |
| 定期報告 / 財報解讀 | interpret_stock_report("600519") / interpret_stock |
核心 |
| 生成研究報告 / 多格式匯出 | generate_research_report / quick_report |
推薦 |
| 批次爬取 + 打包下載 | CrawlPackager().package_batch_crawl |
核心 |
| 搜尋引擎搜尋(中文優先) | search_web / quick_search |
核心 |
| 網頁全頁歸檔 | quick_archive(url) |
核心 |
| 擴充機構名單 / 補全官網 / 更新A股名單 | expand_institution_list / UrlCompleter / StockListUpdater |
核心 |
| 找什麼 | 去哪裡 |
|---|---|
| 快速開始 + 場景入口 | 本檔案「一鍵上手」+「場景速查」 |
| 完整功能 / 機構清單 / 媒體源 / MCP 工具表 / 版本歷史 | README.md |
| 故障排查(返回空 / 限流 / 依賴缺失 / 成功率低) | TROUBLESHOOTING.md |
| 安全審計 / 資料來源合規 | SECURITY.md |
| 全部測試 | python runtests.py(630 個) |
| 模組 | 能力 | 依賴層級 | 入口 |
|---|---|---|---|
| 機構名單 | 2270+ 金融機構,33 大類,URL 登錄檔 | 核心 | query_institution |
| 全網輿情 | 4 類 60+ 商業財經媒體源 + RSS 直連 + 搜尋引擎 + akshare 兜底,情感/嚴重度分級,模糊去重 | 核心 | crawl_global_sentiment |
| 網頁爬取 | 六級降級鏈(Scrapling→Playwright→HTTP),快取+熔斷+重試 | 核心 | scrape_webpage |
| 瀏覽器爬取 | 深度類人操作(閱讀停頓/4種滾動模式/貝塞爾滑鼠/懸停/多標籤/iframe合併)、會話保持、驗證碼人工接管、proxy、單例複用 | Playwright | browser_human_fetch |
| 公告/研報 | 巨潮公告 PDF、券商研報、公司財報 | 推薦 | search_announcements |
| 行情/資料 | 股票/基金/可轉債/兩融/大宗/ETF流/龍虎榜/LPR/國債/北交所 | 核心 | get_stock_realtime |
| 結構化資料 | 期貨/宏觀(GDP·CPI·PPI·PMI)/Shibor/港股美股 | akshare | get_structured_data |
| 產品分析 | 真實風險指標(年化/波動/回撤/夏普/卡瑪)、風格、組合復刻、相似推薦 | 推薦 | analyze_risk_metrics |
| 搜尋 | 百度/搜狗/DDG/SearXNG 多引擎,中文優先 | 核心 | search_web |
| 定期報告解讀 | 🆕 財報自動解讀(業績概覽/同比環比/ROE/毛利率/現金流/亮點/風險/評分評級),純規則引擎零依賴 | 核心 | interpret_stock_report |
| 報告 | 研究報告生成、文件分析、圖表、多格式匯出(含真實 PDF / HTML 網頁版) | 推薦 | generate_research_report |
依賴層級說明:核心 = 零 pip 依賴即可用 | 推薦 =
--recommended安裝後可用(bs4/lxml/docx) | Playwright = 需額外pip install playwright && playwright install chromium| akshare = 需額外pip install akshare
| 類別 | 說明 |
|---|---|
| ✅ 完全支援 | 機構名單查詢、基金/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%。
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 解析 + 報告匯出 | bs4, lxml, python-docx, openpyxl | python setup_env.py --recommended |
| 瀏覽器自動化(動態頁面/類人爬取) | playwright | pip install playwright && playwright install chromium |
| 結構化資料(期貨/宏觀/Shibor) | akshare | pip install akshare |
| 全功能 | 全部 | python setup_env.py --full |
report_interpreter.py,純規則引擎零依賴)from scripts.report_interpreter import interpret_stock_report, interpret_data
text = interpret_stock_report("600519") # 一站式:拉取+解讀(年報/半年報/季報)
result = interpret_data({"營收": 100.0, "淨利潤": 20.0, "毛利率": 45.0,
"ROE": 15.0, "營收同比": 25.0, "淨利同比": 35.0})
# 輸出:業績概覽(營收/淨利/同比/環比/EPS)、盈利能力(ROE/毛利率)、
# 現金流質量、✅亮點訊號、⚠️風險提示、綜合評分(0-100)+評級(積極/中性/謹慎)
# 資料來源:東財 RPT_LICO_FN_CPD 直連(含 YSTZ/SJLTZ 同比、YSHZ/SJLHZ 環比增速欄位)
browser_pro.py)from scripts.browser_pro import discover_api
api = discover_api("https://fund.eastmoney.com/company/") # 監聽 XHR/fetch
# 自動識別分頁規律 + 捕獲 JSON 響應樣本 → data/api_registry.json(去重累積)
# 挖掘到介面後即可 HTTP 直連,無需再開瀏覽器;ScrapableRegistry.suggest_api 可查
browser_pro.py)from scripts.browser_pro import record_macro, play_macro
record_macro("https://example.com/search", record_seconds=25) # 可見模式錄製
play_macro("recorded_xxx.json", params={"input": "貴州茅臺"}) # {{引數}} 回放
# 宏動作:goto/click/fill/select/press/scroll/upload/download/drag/extract/…
from scripts.browser_scraper import BrowserScraper
with BrowserScraper(headless=True) as bs:
bs.upload_file(url, "input[type=file]", ["a.pdf"]) # 上傳
bs.download_file(url, click_selector=".btn", filename="r.xlsx") # 下載
bs.drag_and_drop(url, "#slider", "#target") # 拖拽
bs.press_keys(url, "Control+A", selector="#box") # 組合鍵
bs.type_contenteditable(url, "[contenteditable]", "正文") # 富文本
browser_pro.py)from scripts.browser_pro import async_batch_fetch
res = async_batch_fetch(urls, concurrency=6) # async Playwright 多頁併發
institution_expander.py url_completer.py)from scripts import expand_institution_list, UrlCompleter, StockListUpdater
expand_institution_list() # 1330 → 2270 家 / 33 類(live+精選+list 反向吸收)
UrlCompleter().run(limit=100) # 搜尋引擎補官網(斷點續跑)
StockListUpdater().run() # A股全量 5542 只(東財→新浪雙源容災)
market_data_scraper.py)from scripts.market_data_scraper import get_macro_indicator
get_macro_indicator("cpi", limit=24) # CPI/PPI/PMI/GDP/M2,純 HTTP,akshare 缺失也可用
browser_scraper.py)bs = BrowserScraper(headless=True)
html = bs.humanlike_fetch(url, think_time=True, hover=True, tab_switch=True,
include_iframes=True) # 閱讀停頓+懸停+多標籤+iframe合併
# 會話保持:Cookie 自動持久化到 data/browser_state/,跨程序複用
# 驗證碼接管:檢測到驗證碼自動截圖到 data/screenshots/captcha_*.png 並返回 None
# 4 種滾動模式:fast_browse / slow_read / segmented / rewind 隨機切換
report_exporter.py)from scripts.report_exporter import ComprehensiveExporter
exporter = ComprehensiveExporter()
files = exporter.export_all_formats(data, "600519") # 含 pdf(Playwright 渲染)+ html
# HtmlExporter 生成帶樣式的網頁版報告,PDF 鏈路:HTML → Chromium print to PDF
crawl_packager.py)from scripts.crawl_packager import CrawlPackager
p = CrawlPackager()
zip_path = p.package_batch_crawl("貴州茅臺,招商銀行", parallel_workers=4,
progress_callback=lambda d, t, n: print(f"{d}/{t} {n}"))
# 失敗項自動重試 2 次並寫入包內 failed.json;增量打包:
path, skipped = p.package_incremental(items, previous_zip="old.zip")
regulatory_scraper.py,商業資料來源)from scripts.regulatory_scraper import get_regulatory_updates
news = get_regulatory_updates("all", limit=20) # 東財宏觀政策 + 新浪財經 + 巨潮公告
web_parser.py)from scripts.web_parser import extract_main_content, extract_jsonld, extract_product_from_jsonld
content = extract_main_content(html) # readability 風格正文抽取
scripts/structured_market_data.py)akshare 低程式碼統一入口,覆蓋期貨/宏觀/同業/港股美股,未裝 akshare 自動返回空。
from scripts import get_structured_data, list_data_types
df = get_structured_data("shibor") # Shibor 同業拆借利率
df = get_structured_data("futures_spot") # 全市場期貨即時行情
df = get_structured_data("macro_cpi") # CPI 同比
search_engine.py)中文財經召回最佳,MultiEngineSearch 自動百度→搜狗→DDG→SearXNG 優先國內。
from scripts import quick_search
quick_search("貴州茅臺 2026半年報", engines=["baidu_html", "sogou_html"])
browser_scraper.py)bs = BrowserScraper(headless=True, proxy="http://127.0.0.1:8080", ad_block=True)
results = bs.extract_many(["https://a.com/1", "https://b.com/2"]) # 併發標籤頁
輿情兜底與 web_parser 複用程序級單例瀏覽器(_get_browser_scraper),告別每源冷啟動。
analyzer.py 重寫)from scripts.analyzer import calculate_risk_metrics
metrics = calculate_risk_metrics([{"date": "2026-01-01", "nav": 1.2}, ...])
# annualized_return / volatility / max_drawdown / sharpe / calmar(≥30 點才計算,不偽造)
否定詞處理("否認業績下滑"不再判負面)、相對時間("3小時前/昨天")、嚴重度閾值統一、模糊去重(標題相似 >0.85)。
7w4.net小蔥技能站收錄全網優質技能,值得收藏。
| 命令 | 用途 |
|---|---|
python run_sentiment.py |
互動式輿情對話 |
python runtests.py |
跑全部測試(當前 630 個) |
python setup_env.py --full |
全功能安裝 |
python mcp_server.py |
啟動 MCP Server(stdio,64 個工具) |
python scripts/scrapable_registry.py stat |
機構名單統計 |
python scripts/structured_market_data.py |
結構化資料自檢 |
| 症狀 | 原因 | 解決 |
|---|---|---|
| cls/sina/jisilu/wallstreetcn 返回空 | 介面被封 | v5.0 已接線 akshare 自動兜底,無需手動處理 |
| 主站返回 200 但內容是驗證碼頁 | 軟封禁 | 自動檢測並切瀏覽器兜底;DomainRateLimiter 按域限速 |
| 中文搜尋召回差 | 預設引擎不合適 | 百度/搜狗優先(baidu_html/sogou_html) |
| 輿情抓取慢 | 每源冷啟動 | v5.0 瀏覽器單例複用;parallel_workers=4 併發 |
| 行情/新聞請求被限流 | 頻率過高 | 全部請求已統一走自適應限流(RatelimitedSession) |
ModuleNotFoundError: playwright |
未裝瀏覽器依賴 | pip install playwright && playwright install chromium |
| akshare 返回空 | 未裝 akshare | pip install akshare |
| 更多 | — | TROUBLESHOOTING.md |
A: 1)檢查目標名稱是否正確(用 list_sentiment_targets 檢視);2)嘗試擴大時間範圍(days=7);3)增加媒體源類別(source_categories=["authoritative", "financial_vertical", "self_media"])。
A: 需要安裝 akshare:pip install akshare。未安裝時函式自動返回 None,不會報錯。
A: 預設 mode="static" 只走 HTTP。SPA 頁面需用 mode="realtime"(需 Playwright):
result = scrape_webpage(url="...", mode="realtime")
A: 銀行官網普遍反爬嚴格(驗證碼/IP 封禁),預期成功率 30-50%。建議:1)用 browser_human_fetch 走瀏覽器;2)加 proxy 輪換;3)降低頻率。
A: 兩種方式:
# 方式 1:對話式
chat_handle("新增自定義目標:恒生電子")
# 方式 2:API
add_custom_sentiment_target("custom", "恒生電子")
A: 使用國內映象:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
# 或永久設定
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
📘 更多故障排查見 TROUBLESHOOTING.md | 🔒 安全審計見 SECURITY.md
完整功能說明、機構清單、媒體源/目標庫、MCP 工具表(55 個)、實戰場景、版本歷史,見 README.md。
這個Skill質量很高,功能非常全面,文件和教程也很詳細。優點是安裝靈活(零依賴也能跑核心功能)、互動友好(對話式入口)、容錯能力強(多級降級兜底)。不足是部分高階功能需要額外安裝Playwright等元件,對新手有一定門檻;某些功能依賴商業網站介面,可能存在穩定性波動。總體來說是一款成熟度高、實用性強的金融資料工具。