微信公眾號文章轉 Markdown 轉換器
此工具的功能
將微信公眾號文章轉換為乾淨的 Markdown 檔案,包含:
- YAML 前置元數據(標題、作者、日期、來源 URL)
- 本地下載的圖片
- 保留的程式碼區塊及語言偵測
- 音訊/影片參考提取
- 乾淨的格式(無微信 UI 雜訊)
先決條件
- Python 3.10+
- 安裝相依套件:
pip install -r requirements.txt - Camoufox 瀏覽器將在首次執行時自動下載
使用方式
CLI(單篇文章)
python main.py "https://mp.weixin.qq.com/s/ARTICLE_ID"
CLI(批次從檔案)
python main.py -f urls.txt -o ./output -v
CLI 選項
| 標記 | 說明 |
|---|---|
-f FILE | 包含 URL 的文字檔案(每行一個) |
-o DIR | 輸出目錄(預設:./output) |
-c N | 圖片下載並發數(預設:5) |
--no-images | 跳過圖片下載,保留遠端 URL |
--no-headless | 顯示瀏覽器(用於解決 CAPTCHA) |
--force | 覆蓋現有輸出 |
--no-frontmatter | 使用區塊引用元數據而非 YAML |
-v | 詳細/除錯日誌 |
MCP 伺服器
作為 MCP 伺服器執行以整合 AI 工具:
python mcp_server.py
提供兩個工具:
convert_article(url, output_dir, download_images, concurrency, use_frontmatter)— 轉換單篇文章batch_convert(urls, output_dir, download_images, concurrency)— 轉換多篇文章
MCP 設定(用於 claude_desktop_config.json 或類似檔案)
{
"mcpServers": {
"wechat-to-md": {
"command": "python",
"args": ["mcp_server.py"],
"cwd": "<此專案的路徑>"
}
}
}
輸出結構
output/
<文章標題>/
<文章標題>.md # 包含 YAML 前置元數據的 Markdown 檔案
images/
img_001.png
img_002.jpg
...
常見問題
- CAPTCHA/驗證頁面:使用
--no-headless執行以在瀏覽器視窗中手動解決 CAPTCHA,然後重試。 - 內容為空:微信可能限制請求頻率。請稍候幾分鐘再試。
- 圖片下載失敗:失敗的圖片會在 Markdown 中保留其遠端 URL。使用
--force重新執行以重試。
限制
- 僅支援來自
mp.weixin.qq.com的文章 - 需要可用的網路連線以及執行無頭瀏覽器的能力
- 微信可能會封鎖自動化存取;Camoufox 有助於規避偵測,但無法保證