Convertisseur d'Article WeChat en Markdown
Ce que fait cet outil
Convertit les articles de comptes publics WeChat en fichiers Markdown propres avec :
- Frontmatter YAML (titre, auteur, date, URL source)
- Images téléchargées localement
- Blocs de code préservés avec détection du langage
- Extraction des références audio/vidéo
- Mise en forme propre (pas de bruit d'interface WeChat)
Prérequis
- Python 3.10+
- Installer les dépendances :
pip install -r requirements.txt - Le navigateur Camoufox sera téléchargé automatiquement lors de la première exécution
Utilisation
CLI (article unique)
python main.py "https://mp.weixin.qq.com/s/ARTICLE_ID"
CLI (traitement par lot depuis un fichier)
python main.py -f urls.txt -o ./output -v
Options CLI
| Option | Description |
|---|---|
-f FICHIER | Fichier texte contenant les URLs (une par ligne) |
-o DOSSIER | Répertoire de sortie (par défaut : ./output) |
-c N | Nombre de téléchargements simultanés d'images (par défaut : 5) |
--no-images | Ignorer le téléchargement des images, conserver les URLs distantes |
--no-headless | Afficher le navigateur (pour résoudre les CAPTCHAs) |
--force | Écraser les fichiers de sortie existants |
--no-frontmatter | Utiliser des métadonnées blockquote au lieu de YAML |
-v | Journalisation verbeuse/débogage |
Serveur MCP
Exécuter en tant que serveur MCP pour une intégration avec des outils IA :
python mcp_server.py
Expose deux outils :
convert_article(url, output_dir, download_images, concurrency, use_frontmatter)— Convertir un seul articlebatch_convert(urls, output_dir, download_images, concurrency)— Convertir plusieurs articles
Configuration MCP (pour claude_desktop_config.json ou similaire)
{
"mcpServers": {
"wechat-to-md": {
"command": "python",
"args": ["mcp_server.py"],
"cwd": "<chemin-vers-ce-projet>"
}
}
}
Structure de sortie
output/
<titre-article>/
<titre-article>.md # Fichier Markdown avec frontmatter YAML
images/
img_001.png
img_002.jpg
...
Problèmes courants
- Page CAPTCHA/vérification : Exécutez avec
--no-headlesspour résoudre manuellement le CAPTCHA dans la fenêtre du navigateur, puis réessayez. - Contenu vide : WeChat peut limiter les requêtes. Attendez quelques minutes et réessayez.
- Échecs de téléchargement d'images : Les images non téléchargées conservent leurs URLs distantes dans le Markdown. Relancez avec
--forcepour réessayer.
Limitations
- Ne prend en charge que les articles de
mp.weixin.qq.com - Nécessite une connexion Internet fonctionnelle et la capacité d'exécuter un navigateur headless
- WeChat peut bloquer l'accès automatisé ; Camoufox aide à contourner la détection mais sans garantie