ai
  • index
  • cursor
  • vector
  • crawl
  • crawl-front
  • DrissionPage
  • logging
  • mysql
  • pprint
  • sqlalchemy
  • contextmanager
  • dotenv
  • Flask
  • python
  • job
  • pdfplumber
  • python-docx
  • redbook
  • douyin
  • ffmpeg
  • json
  • numpy
  • opencv-python
  • pypinyin
  • re
  • requests
  • subprocess
  • time
  • uuid
  • watermark
  • milvus
  • pymilvus
  • search
  • Blueprint
  • flash
  • Jinja2
  • secure_filename
  • url_for
  • Werkzeug
  • chroma
  • HNSW
  • pillow
  • pandas
  • beautifulsoup4
  • langchain-community
  • langchain-core
  • langchain
  • langchain_unstructured
  • libreoffice
  • lxml
  • openpyxl
  • pymupdf
  • python-pptx
  • RAGFlow
  • tabulate
  • sentence_transformers
  • jsonl
  • collections
  • jieba
  • rag_optimize
  • rag
  • rank_bm25
  • Hugging_Face
  • modelscope
  • all-MiniLM-L6-v2
  • ollama
  • rag_measure
  • ragas
  • ASGI
  • FastAPI
  • FastChat
  • Jupyter
  • PyTorch
  • serper
  • uvicorn
  • markdownify
  • NormalizedLevenshtein
  • raq-action
  • CrossEncoder
  • Bi-Encoder
  • neo4j
  • neo4j4python
  • matplotlib
  • Plotly
  • Streamlit
  • py2neo
  • abc
  • read_csv
  • neo4jinstall
  • APOC
  • neo4jproject
  • uv
  • GDS
  • heapq
  • 1. 常见 Markdownify 工具
    • (1) Python 库:markdownify
    • (2) JavaScript 库:turndown
    • (3) 在线工具
  • 2. 主要功能
  • 3. 高级用法
    • (1) 自定义转换规则
    • (2) 保留/忽略某些标签
    • (3) 处理表格
  • 4. 应用场景
  • 5. 总结

Markdownify 是一个可以将 HTML 转换为 Markdown 格式的工具或库。它通常用于:

  • 将网页内容(HTML)转换为易读的 Markdown 格式。
  • 在博客、文档或笔记系统中进行格式转换。
  • 简化富文本(如 Word、网页)到纯文本 Markdown 的转换。

1. 常见 Markdownify 工具 #

(1) Python 库:markdownify #

pip install markdownify

示例代码:

from markdownify import markdownify as md

html = "<h1>Hello World</h1><p>This is <strong>Markdownify</strong>!</p>"
markdown = md(html)
print(markdown)

输出:

# Hello World

This is **Markdownify**!

(2) JavaScript 库:turndown #

npm install turndown

示例代码:

const Turndown = require('turndown');
const turndown = new Turndown();

const html = "<h1>Hello World</h1><p>This is <strong>Turndown</strong>!</p>";
const markdown = turndown.turndown(html);
console.log(markdown);

输出:

# Hello World

This is **Turndown**!

(3) 在线工具 #

  • Markdownify Web(基于 turndown)
  • HTML to Markdown Converter

2. 主要功能 #

HTML 标签 Markdown 转换结果
<h1> # Heading
<h2> ## Heading
<p> 普通文本(换行)
<a href=""> [Link](url)
<strong> **Bold**
<em> *Italic*
<ul><li> - List item
<code> `code`
<pre> `` ` 代码块

3. 高级用法 #

(1) 自定义转换规则 #

在 markdownify(Python)或 turndown(JS)中,可以自定义转换方式:

from markdownify import MarkdownConverter

class MyConverter(MarkdownConverter):
    def convert_a(self, el, text):
        return f'[LINK: {text}]({el.get("href")})'

html = '<a href="https://example.com">Click</a>'
markdown = MyConverter().convert(html)
print(markdown)  # 输出: [LINK: Click](https://example.com)

(2) 保留/忽略某些标签 #

const turndown = new Turndown({
    hr: '---',          // 自定义 `<hr>` 转换
    blankReplacement: (content, node) => {
        if (node.tagName === 'div') return '\n'; // 保留 div 换行
        return '';
    }
});

(3) 处理表格 #

默认情况下,Markdownify 会尝试转换 <table> 为 Markdown 表格:

<table>
    <tr><th>Name</th><th>Age</th></tr>
    <tr><td>Alice</td><td>25</td></tr>
</table>

转换结果:

| Name  | Age |
|-------|-----|
| Alice | 25  |

4. 应用场景 #

  1. 静态网站生成(如 Jekyll、Hugo)需要将 HTML 转为 Markdown。
  2. 爬虫数据处理,存储网页内容为易读格式。
  3. 文档迁移,如从 WordPress 导出 HTML 并转为 Markdown 用于 MkDocs。
  4. Chatbot 数据预处理,清理 HTML 并转为纯文本。

5. 总结 #

  • Markdownify 是一个方便的工具,用于 HTML → Markdown 转换。
  • 支持 Python (markdownify) 和 JavaScript (turndown)。
  • 可以 自定义转换规则,适应不同需求。
  • 适用于 内容管理、爬虫、文档转换 等场景。

你可以试试看!🚀

访问验证

请输入访问令牌

Token不正确,请重新输入