微信公众号多功能导出工具。將公眾號文章導出為長截圖(PNG)、PDF 或 Markdown,支持任選一種或多種格式。觸發詞:「導出微信文章」、「公眾號截圖」、「文章轉PDF」、「文章轉Markdown」、「微信導出」。
集成長截圖、PDF、Markdown 三種導出方式於一體,根據需要自由選擇。
| 格式 | 說明 |
|---|---|
screenshot | 移動端長截圖(PNG),3x DPR,自動拼接,隱藏底部工具欄 |
pdf | PDF 文檔(基於截圖轉換) |
markdown | 高質量 Markdown,含 YAML frontmatter、代碼塊、圖片 |
mp.weixin.qq.com 連結# 全部格式
-f all
# 僅截圖
-f screenshot
# 僅 Markdown
-f markdown
# 截圖 + PDF
-f screenshot,pdf
# 三種都要
-f screenshot,pdf,markdown
# 全部導出
python3 /path/to/wechat_export.py "<URL>" -f all -o /workspace/output
# 指定格式導出
python3 /path/to/wechat_export.py "<URL>" -f screenshot -o /workspace/output
python3 /path/to/wechat_export.py "<URL>" -f markdown -o /workspace/output
python3 /path/to/wechat_export.py "<URL>" -f screenshot,pdf -o /workspace/output
# Markdown 不下載圖片(保留遠程 URL)
python3 /path/to/wechat_export.py "<URL>" -f markdown --no-images -o /workspace/output
# Markdown 不含 YAML frontmatter
python3 /path/to/wechat_export.py "<URL>" -f markdown --no-frontmatter -o /workspace/output
import sys
sys.path.insert(0, "/path/to/scripts")
from wechat_export import export_wechat_article
# 導出全部格式
result = await export_wechat_article(
"https://mp.weixin.qq.com/s/xxxxx",
formats=["screenshot", "pdf", "markdown"], # 可任選
output_dir="/workspace/output",
download_imgs=True, # Markdown 是否下載圖片
no_frontmatter=False, # Markdown 是否含 frontmatter
)
# result 包含:
# {
# "title": "文章標題",
# "url": "https://...",
# "screenshot_path": "/path/to/xxx.png", # or None
# "pdf_path": "/path/to/xxx.pdf", # or None
# "markdown_path": "/path/to/xxx.md", # or None
# "error": None or "錯誤信息",
# }
pip install playwright beautifulsoup4 markdownify requests Pillow
playwright install chromium
<OUTPUT_DIR>/
└── <Article_Title>/
├── <Article_Title>-20260410.png # 長截圖(如選)
├── <Article_Title>-20260410.pdf # PDF(如選)
└── <Article_Title>.md # Markdown(如選)
└── images/
├── img_000.png
└── img_001.jpg
screenshot)pdf)markdown)修复:
/s/ → parsed.path.startswith("/s"),支持临时分享链接(路径为 /s 而非 /s/).rich_media_global_msg_inner / #preview_bar),避免横幅在每个分段重复出现