Python中如何使用新轮子Tomd实现HTML转Markdown

Markdown 转 HTML 的轮子很多, HTML 转 Markdown 的工具却不多.

用途: 爬虫爬文章保存到本地为 Markdown 格式

Github 地址: https://github.com/gaojiuli/tomd

tomd

Convert HTML to Markdown.

安装

pip install tomd

开始

输入

from tomd import Tomd

Tomd("<h1>h1</h1>").markdown

输出

# h1

用法

from tomd import Tomd

html=""" <h1>h1</h1> <h2>h2</h2> <h3>h3</h3> <h4>h4</h4> <h5>h5</h5> <h6>h6</h6> <p>paragraph <a href=“https://github.com”>link</a> <img src=“https://github.com” class=“dsad”>img</img> </p> <ul> <li>1</li> <li>2</li> <li>3</li> </ul> <ol> <li>1</li> <li>2</li> <li>3</li> </ol> <blockquote>blockquote</blockquote> <p><code>inline code</code></p> <pre><code>block code</code></pre> <p> <b>bold</b> <i>italic</i> <b><i>bold italic</i></b>

</p> “”"

Tomd(html).markdown

结果

# h1

h2

h3

h4

h5
h6

paragraph link img

  • 1
  • 2
  • 3
  1. 1
  2. 2
  3. 3

> blockquote

inline code

bold italic bold italic

接收各种 issue 与 pull request, 代码量少容易理解, 大家可以一起参与进来

Github 地址: https://github.com/gaojiuli/tomd


Python中如何使用新轮子Tomd实现HTML转Markdown

9 回复

star + 1


tomd 把 HTML 转成 Markdown 很简单,这库就是干这个的。先装上它:

pip install tomd

然后几行代码就能搞定。看例子:

import tomd

# 你的 HTML 内容,比如从网页抓下来的
html_content = """
<h1>这是一个标题</h1>
<p>这是一段<strong>加粗</strong>的文本。</p>
<ul>
    <li>列表项1</li>
    <li>列表项2</li>
</ul>
<blockquote>这里是个引用</blockquote>
"""

# 核心就这一行
markdown_text = tomd.convert(html_content)

print(markdown_text)

跑一下,输出就是转换好的 Markdown:

# 这是一个标题

这是一段**加粗**的文本。

*   列表项1
*   列表项2

> 这里是个引用

基本常见的 HTML 标签它都能转,像标题、段落、加粗、斜体、列表、链接、图片、代码块、表格这些都没问题。如果 HTML 结构复杂或者有它不认识的标签,转换结果可能不完美,但对于大多数从网上抓下来的内容,tomd 够用了。

一句话总结:pip install tomd 然后 tomd.convert(html_string) 直接调用。

已 star,建议提供一个命令行工具,使用起来更方便

标记,已 star

标记,已 star

好主意

https://github.com/LCTT/LCTT-Helper/
推荐这个 html 转 md 的工具,我们一直在用

我做这个主要是用于我自己的爬虫

我的爬虫也正需要一个这样的库,最后还是找了个 js 的,用 pyexecjs 调用 js 的函数去做的,哈哈

回到顶部