Skip to content

🔄 Extract and convert WordPress export files to Markdown, CSV, and JSON formats with intelligent HTML parsing and code block detection

License

Notifications You must be signed in to change notification settings

legendmohe/wordpress-content-extractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WordPress导出文件内容提取器

License: MIT Python 3.x

这是一个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-extractor

🔧 使用方法

基本语法

python 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.csv
  • WordPress.2025-10-10_extract.json
  • WordPress.2025-10-10_extract.md

📊 数据结构

每篇文章包含以下字段:

  • title: 文章标题
  • content: Markdown格式正文
  • plain_text: 纯文本格式正文
  • html_content: 原始HTML正文
  • author: 作者
  • publish_date: 发布日期
  • word_count: 字数统计

🔄 支持的内容转换

HTML到Markdown转换

  • 标题 (<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!

  1. Fork 这个项目
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详细信息。


⭐ 如果这个项目对你有帮助,请给它一个星标!

About

🔄 Extract and convert WordPress export files to Markdown, CSV, and JSON formats with intelligent HTML parsing and code block detection

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages