这是一个Python脚本,用于从WordPress导出的XML文件中提取文章标题和正文内容,并转换为多种格式。
- ✅ 提取WordPress导出文件中的已发布文章
- ✅ 将HTML内容智能转换为Markdown格式
- ✅ 支持代码块语言自动检测
- ✅ 处理各种HTML标签(标题、列表、链接、粗体、斜体等)
- ✅ 修复常见的HTML嵌套错误
- ✅ 输出CSV、JSON和Markdown三种格式
- ✅ 命令行界面,易于使用
- ✅ 自动生成输出文件名
- Python 3.x
- 无需额外依赖包(仅使用Python标准库)
git clone https://github.com/your-username/wordpress-content-extractor.git
cd wordpress-content-extractorpython extract_wordpress_content.py <WordPress导出文件路径># 处理当前目录的文件
python extract_wordpress_content.py WordPress.2025-10-10.xml
# 处理其他目录的文件
python extract_wordpress_content.py "C:\path\to\your\wordpress-export.xml"脚本会在输入文件的同一目录中生成以下文件:
[输入文件名]_extract.csv- CSV格式,包含标题、作者、发布日期、字数、Markdown正文、纯文本正文[输入文件名]_extract.json- JSON格式,包含完整的文章数据结构[输入文件名]_extract.md- Markdown格式,包含所有文章的格式化文档
如果输入文件是 WordPress.2025-10-10.xml,输出文件将是:
WordPress.2025-10-10_extract.csvWordPress.2025-10-10_extract.jsonWordPress.2025-10-10_extract.md
每篇文章包含以下字段:
title: 文章标题content: Markdown格式正文plain_text: 纯文本格式正文html_content: 原始HTML正文author: 作者publish_date: 发布日期word_count: 字数统计
- 标题 (
<h1>-<h6>→#-######) - 粗体 (
<strong>,<b>→**text**) - 斜体 (
<em>,<i>→*text*) - 链接 (
<a href="url">text</a>→[text](url)) - 列表 (
<ul>,<ol>,<li>→-或1.) - 代码块 (
<pre>,<code>→ 带语言检测的代码块) - 引用块 (
<blockquote>→> text) - 换行 (
<br>→ 换行) - 水平线 (
<hr>→---)
脚本能自动检测以下编程语言:
- PHP (以
<?php开头) - JavaScript (以
function,var,dojo.开头) - Java (以
public class,@开头) - SQL (包含
SELECT,FROM关键字) - XML (以
<开头,>结尾)
- 脚本只处理文章类型为
post且状态为publish的内容 - 自动跳过页面、草稿和其他类型的内容
- 支持处理包含ASCII艺术图的代码块
- 字数统计基于纯文本内容计算
- ✅ 检查文件是否存在
- ✅ 验证XML文件格式
- ✅ 处理HTML嵌套错误
- ✅ 保护代码块内容不被误删
欢迎提交Issue和Pull Request!
- Fork 这个项目
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详细信息。
⭐ 如果这个项目对你有帮助,请给它一个星标!