web-content-fetcher

web-content-fetcher

熱門

從任何網址提取文章內容,輸出為乾淨的 Markdown。主要使用 Scrapling 腳本(自動從快速模式降級為隱匿模式),對簡單頁面則以 Jina Reader 作為替代方案。保留標題、連結、圖片、列表和程式碼區塊。當使用者想要擷取、讀取、提取、爬取或摘要某個網址的內容時(包括部落格文章、新聞、微信公眾號文章、文件頁面或任何網頁),請使用此技能。當使用者說「幫我讀一下這篇文章」、「抓取這個網頁」、「提取正文」或「read this page for me」時,也請觸發此技能。

601星標
0分支
更新於 2026/7/26
SKILL.md
唯讀
名稱
web-content-fetcher
描述

從任何網址提取文章內容,輸出為乾淨的 Markdown。主要使用 Scrapling 腳本(自動從快速模式降級為隱匿模式),對簡單頁面則以 Jina Reader 作為替代方案。保留標題、連結、圖片、列表和程式碼區塊。當使用者想要擷取、讀取、提取、爬取或摘要某個網址的內容時(包括部落格文章、新聞、微信公眾號文章、文件頁面或任何網頁),請使用此技能。當使用者說「幫我讀一下這篇文章」、「抓取這個網頁」、「提取正文」或「read this page for me」時,也請觸發此技能。

Web Content Fetcher

給定一個網址,將其主要內容回傳為乾淨的 Markdown — 保留標題、連結、圖片、列表和程式碼區塊。

提取策略

每個網址只嘗試一種方法 — 不要盲目串接。事先選對方法。

URL
 │
 ├─ 1. Scrapling 腳本(優先)
 │     執行 fetch.py — 根據網域路由表決定使用快速模式或 --stealth。
 │     適用於大多數網站。直接回傳乾淨的 Markdown。
 │
 └─ 2. Jina Reader(備用 — 僅在 Scrapling 失敗或相依套件未安裝時使用)
       web_fetch("https://r.jina.ai/<url>")
       免費方案:每天 200 次請求。快速(約 1-2 秒),Markdown 輸出品質佳。
       不適用於:微信(403)、部分中國平台。

Scrapling 腳本

python3 <SKILL_DIR>/scripts/fetch.py "<url>" [max_chars] [--stealth]

<SKILL_DIR> 是此 SKILL.md 所在的目錄。呼叫腳本前請先解析此路徑。

腳本內建兩種模式:

  • 預設(快速): HTTP 擷取,約 1-3 秒,適用於大多數網站
  • --stealth 無頭瀏覽器,約 5-15 秒,適用於 JS 渲染或反爬蟲網站

若未指定 --stealth,腳本會自動在快速結果內容過少時降級為隱匿模式。因此通常不需要手動指定 --stealth — 唯一需要強制使用的情況是當你已經知道該網站需要此模式(請參考路由表),這樣可以省去第一次快速嘗試的時間。

網域路由

使用下表在第一次呼叫時選擇正確的模式:

網域 指令 原因
mp.weixin.qq.com fetch.py <url> --stealth JS 渲染內容
zhuanlan.zhihu.com fetch.py <url> --stealth 反爬蟲 + JS
juejin.cn fetch.py <url> --stealth JS 渲染的 SPA
sspai.com fetch.py <url> 靜態 HTML
blog.csdn.net fetch.py <url> 靜態 HTML
ruanyifeng.com fetch.py <url> 靜態部落格
openai.com fetch.py <url> 靜態 HTML
blog.google fetch.py <url> 靜態 HTML
其他所有網域 fetch.py <url> 自動降級處理

腳本選項

# 基本用法 — 自動選擇快速或隱匿模式
python3 <SKILL_DIR>/scripts/fetch.py "https://sspai.com/post/73145"

# 對已知 JS 繁重的網站強制使用隱匿模式
python3 <SKILL_DIR>/scripts/fetch.py "https://mp.weixin.qq.com/s/xxx" --stealth

# 限制輸出為 15000 個字元(預設:30000)
python3 <SKILL_DIR>/scripts/fetch.py "https://example.com/article" 15000

# JSON 格式輸出,包含元資料(網址、模式、選擇器、內容長度)
python3 <SKILL_DIR>/scripts/fetch.py "https://example.com" --json

安裝相依套件

僅在首次使用時需要 — 腳本會檢查並告知缺少哪些套件:

pip install scrapling html2text

若使用系統管理的 Python(macOS/Linux),請加上 --break-system-packages 或使用虛擬環境。

失敗規則

  • 同一個網址失敗一次 → 放棄,告訴使用者「無法從此網址提取內容」
  • 不要重試 — 每次失敗的呼叫都會浪費對話 token