python.png

  • html2text 是一个 Python 脚本库,可将 HTML 页面转换为干净、易于阅读的纯 ASCII 文本。 更好的是,该 ASCII 也恰好是有效的 Markdown(一种文本到 HTML 的格式)。

安装 html2text库

pip3 install html2text

你可以在 Python 中使用它:

import html2text
print (html2text.html2text("<p>Hello, world.</p>"))

或者使用一些配置选项:

import html2text
h = html2text.HTML2Text()
h.ignore_links = True
print (h.handle("<p>Hello, <a href='http://earth.google.com/'>world</a>!"))

自己写的脚本 html2md.py 用来把提取指定网址的 Markdown 文本

  • 使用: python3 html2md.py [url]
#!/usr/bin/python3

import requests
import html2text
from sys import argv


# 拼接请求地址
url = 'https://www.lyvba.com/index.php/category/learn/'

if (len(argv) > 1) :
    url = argv[1]

# 请求头,模拟浏览器UA
headers = {
    'User-Agent': ' '.join(['Mozilla/5.0 (Windows NT 10.0; Win64; x64; ServiceUI 14)',
                            'AppleWebKit/537.36 (KHTML, like Gecko)', 'Chrome/70.0.3538.102', 'Safari/537.36',
                            'Edge/18.18363'])
}

# 发送请求
r = requests.get(url=url, headers=headers)

# html 转换 markdown
html = r.text
text = html2text.html2text(html)

# 转换时忽略链接
if (len(argv) > 2) :
    url = argv[1]
    h = html2text.HTML2Text()
    # Ignore converting links from HTML
    h.ignore_links = True
    text = h.handle(html)

print(text)
分类: 学习编程

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注