本文目录导读:

为有效管理收藏的链接,通常有以下几种分类管理方案,你可以根据使用场景(个人浏览器、笔记软件或自动化脚本)选择合适的方式:
基于浏览器书签的脚本分类(最常用)
如果你需要生成一个可以直接导入浏览器的书签文件(HTML),脚本可以按文件夹结构来分类:
代码示例(Python生成书签HTML):
import os
class BookmarkManager:
def __init__(self):
self.bookmarks = {} # 用字典存储分类与链接
def add_bookmark(self, category, title, url):
if category not in self.bookmarks:
self.bookmarks[category] = []
self.bookmarks[category].append({"title": title, "url": url})
def export_to_html(self, file_path="bookmarks.html"):
with open(file_path, "w", encoding="utf-8") as f:
f.write("<!DOCTYPE NETSCAPE-Bookmark-file-1>\n")
f.write("<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=UTF-8\">\n")
f.write("<TITLE>Bookmarks</TITLE>\n<H1>Bookmarks</H1>\n<DL><p>\n")
for category, links in self.bookmarks.items():
f.write(f" <DT><H3>{category}</H3>\n")
f.write(" <DL><p>\n")
for link in links:
f.write(f' <DT><A HREF="{link["url"]}">{link["title"]}</A>\n')
f.write(" </DL><p>\n")
f.write("</DL><p>\n")
print(f"书签已导出至 {file_path}")
# 使用示例
bm = BookmarkManager()
bm.add_bookmark("编程语言", "Python官网", "https://python.org")
bm.add_bookmark("编程语言", "GitHub", "https://github.com")
bm.add_bookmark("设计资源", "Figma", "https://figma.com")
bm.add_bookmark("新闻", "Hacker News", "https://news.ycombinator.com")
bm.export_to_html()
基于JSON的灵活分类(适合存储和扩展)
将数据存储为结构化JSON,支持无限嵌套分类、标签和备注:
代码示例(JSON分类管理):
import json
class LinkManager:
def __init__(self, file_path="links.json"):
self.file_path = file_path
self.data = self.load() or {"categories": []}
def load(self):
try:
with open(self.file_path, "r", encoding="utf-8") as f:
return json.load(f)
except FileNotFoundError:
return None
def save(self):
with open(self.file_path, "w", encoding="utf-8") as f:
json.dump(self.data, f, ensure_ascii=False, indent=2)
def add_category(self, name, parent=None):
"""添加分类,支持子分类"""
category = {"name": name, "links": [], "subcategories": []}
if parent:
# 示例:按名称查找父分类(实际可用ID替代)
for cat in self.data["categories"]:
if cat["name"] == parent:
cat["subcategories"].append(category)
break
else:
self.data["categories"].append(category)
self.save()
def add_link(self, category_name, title, url, tags=None, note=""):
"""在指定分类下添加链接"""
for cat in self.data["categories"]:
if cat["name"] == category_name:
cat["links"].append({
"title": title,
"url": url,
"tags": tags or [],
"note": note
})
self.save()
return
print(f"分类 '{category_name}' 不存在")
# 使用示例
manager = LinkManager()
manager.add_category("技术", "编程") # 在技术下增加子分类
manager.add_link("技术", "MDN文档", "https://developer.mozilla.org", tags=["web", "文档"])
manager.add_link("技术", "LeetCode", "https://leetcode.com", tags=["算法", "面试"])
manager.add_link("编程", "Python官方", "https://python.org") # 子分类
print(json.dumps(manager.data, ensure_ascii=False, indent=2))
基于标签的自动分类(适合海量链接)
不依赖固定分类,而是通过标签(tags)自动分组,脚本可以实时生成分类视图:
代码示例(根据标签自动分类):
from collections import defaultdict
class TagBasedManager:
def __init__(self):
self.links = []
def add(self, title, url, tags):
self.links.append({"title": title, "url": url, "tags": tags})
def classify_by_tag(self):
"""按标签自动生成分类树"""
categories = defaultdict(list)
for link in self.links:
for tag in link["tags"]:
categories[tag].append(link)
return dict(categories)
def show(self):
result = self.classify_by_tag()
for tag, links in result.items():
print(f"\n【{tag}】({len(links)}个链接)")
for i, link in enumerate(links[:3], 1): # 只显示前3个
print(f" {i}. {link['title']} - {link['url']}")
if len(links) > 3:
print(f" ... 还有{len(links)-3}个")
# 使用示例
manager = TagBasedManager()
manager.add("Python教程", "https://python.org", ["编程", "入门", "Python"])
manager.add("Git命令大全", "https://git-scm.com", ["编程", "工具", "版本控制"])
manager.add("CSS动画库", "https://animate.style", ["前端", "CSS", "动画"])
manager.show()
# 自动输出:编程(2个)、入门(1个)、Python(1个)、工具(1个)...
命令行交互式管理脚本
适合需要随时增删查改的场景:
代码示例(CLI界面,支持子命令):
# 伪代码逻辑(可用Python + click库实现) python link_manager.py add "编程" "Python官网" "https://python.org" python link_manager.py add "技术/前端" "React文档" "https://react.dev" python link_manager.py list # 显示所有分类 python link_manager.py list 编程 # 显示该分类下链接 python link_manager.py search 算法 # 搜索所有包含“算法”标签的链接
选择建议
| 场景 | 推荐方案 |
|---|---|
| 简单导入浏览器书签 | 方案1(生成HTML书签) |
| 需要灵活编辑和备份 | 方案2(JSON结构) |
| 链接数量大、跨领域 | 方案3(标签自动分类) |
| 日常手动管理 | 方案4(命令行交互) |
你可以根据需要组合使用——例如用方案2存储数据,用方案1导出为浏览器书签,用方案3提供搜索功能。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播