蘭雅sRGB 个人笔记 https://262235.xyz
提供编程和电脑应用视频教程,工具和源代码
C, C++, Python Programming, Source Code, Video

旧Hexo博客 | Github | IP定位WebAPI | Docker Hub
编程中文文档 | 网盘分享 | 中文Linux命令

Python把网页转换成 Markdown 文本

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] [text]
#!/usr/bin/python3

import requests
import html2text
from sys import argv


# 拼接请求地址
url = 'https://www.262235.xyz/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)
本原创文章自由转载,转载请注明本博来源及网址 | 当前页面:蘭雅sRGB 个人笔记 » Python把网页转换成 Markdown 文本