编程知识 cdmana.com

Python之html與markdown互相轉換

Python之html與markdown互相轉換

前言

Typora可以很容易的將md導出為html,我一直都有想法就是將html還原為markdown,於是在網上整理了幾種方法,以便後期使用。

如果你只是轉換單個文件,推薦直接在線轉換:Link Link Link

1. html2text

pip install html2text

轉換代碼:

import html2text

md_text = open('ret.html', 'r', encoding='utf-8').read()

markdown = html2text.html2text(md_text)

with open('make2.md', 'w', encoding='utf-8') as file:
    
    file.write(markdown)
    

2. html2markdown

pip install html2markdown

轉換代碼:

import html2markdown

md_text = open('ret.html', 'r', encoding='utf-8').read()

markdown = html2markdown.convert(md_text)

with open('make3.md', 'w', encoding='utf-8') as file:
    
    file.write(markdown)

經過測試覺得html2text模塊的轉換還可以!

3. pandoc

pip install pandoc

在需要轉換的目錄下打開cmd

將md轉換為HTML:

pandoc -f markdown -t html -o a.html a.md

HTML轉化為md:

pandoc -f html -t markdown -o b.md b.html

在這裏插入圖片描述

在這裏插入圖片描述

4. 批處理

多個文件同時轉換,示例代碼:

html轉md:

import os

path = r'文件路徑'
all = os.listdir(path)
for file in all:
    if file.endswith('.html'):
    	name = os.path.splitext(file)[0]
        os.system('cd {} && pandoc -f html -t markdown -o {}.md {}.html '.format(path, os.path.splitext(name)[0], os.path.splitext(name)[0]))
""" @Author: ZS @CSDN : https://zsyll.blog.csdn.net/ @Time : 2021/11/25 12:36 """
import html2text
import os

for root, dirs, files in os.walk(r'E:\Python資料', topdown=True):
    for name in files:
        path = os.path.join(root, name)
        if path.endswith('.html'):
            with open(path, encoding='utf-8') as html, open(os.path.join(root, os.path.splitext(name)[0] + '.md'), 'w', encoding='utf-8') as md:
                markdown = html2text.html2text(html.read())
                md.write(markdown)

                print(os.path.splitext(name) + ' 轉換成功!')

參考Llink Link


加油!

感謝!

努力!

版权声明
本文为[ZSYL]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/11/20211125174627529n.html

Scroll to Top