Python读取收藏夹网站,支持目录层级

本文介绍如何使用Python读取HTML收藏夹文件,通过`readlines()`逐行处理,利用正则表达式解析h3(目录)和a(书签),借助`html.unescape()`解码HTML转义字符,并根据行首空格数量确定目录层级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接

用Python清理收藏夹里已失效的网站,快测试一下你的收藏夹吧_chen801090的博客-优快云博客

划重点

  1. 使用readlines()逐行读取收藏夹导出的html文件
  2. 正则解析每一行内容,h3是目录名称,a是书签内容
  3. 考虑到书签名称中有html转码字符,使用html.unescape()解码
  4. 层级关系,用每一行开头的空格个数//4来保证

代码示例

import re
import html

bookmarks_f = open("./Fav20220108-003550.html", encoding='UTF-8')
booklists = bookmarks_f.readlines()
bookmarks_f.close()

h3_pattern = r'(.*?)<DT><H3 .*?>(.*?)</H3>'
a_pattern = r'(.*?)<DT><A .*?HREF="(.*?)" .*?>(.*?)</A>'

while len(booklists) > 0:
    bookmark = booklists.pop(0)

    dir_details = re.search(h3_pattern, bookmark)
    if dir_details:
        dir_degree = len(dir_details.group(1))//4 + 1
        dir_name = html.unescape(dir_details.group(2))
        print(d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值