如何批量剪藏网页链接

Tags

需求场景

有时候,想要一次性保存多个网页到自己的网页剪藏工具(Cubox)里面,不想像印象笔记那样一个个的去剪藏。
这个时候,可以给大家分享一个方法:可以将网页的链接列表转成一个Chrome书签格式的html文件,然后就可以一键导入到cubox了。
PS:其实这个方法配合WebScraper插件也很适合将知乎收藏、豆瓣收藏等批量导入到自己的Cubox里面。如何使用WebScraper插件和安装Anaconda来使用python脚本,参考我的这篇文章:一个极简的WebScraper爬取数据并用Pandas处理数据的案例 - 知乎

TabCopy生成链接列表

首先浏览器打开多个标签页,然后用TabCopy一键复制链接列表即可。
Chrome插件:TabCopy,设置为复制为md链接格式,可以双击复制当前的所有标签页。
效果如下:
[210讲:工作再设计 | 省钱的激励方式 - 得到APP](https://www.dedao.cn/courseArticle/bqzNakylrn9WVaPxbK7DOop10vZwLG)

[豆瓣豆列 学会思考 - Google 搜索](https://www.google.com/search?q=%E8%B1%86%E7%93%A3%E8%B1%86%E5%88%97+%E5%AD%A6%E4%BC%9A%E6%80%9D%E8%80%83)

[刘未鹏pongba创建的豆列](https://www.douban.com/people/pongba/doulists/all)

[『只读经典』思考的技术与艺术(原“学会思考”)](https://www.douban.com/doulist/127649/)

[你用过的最好的代码阅读或编辑工具是什么? - 知乎](https://www.zhihu.com/question/19570229)

python脚本转为html书签

推荐大家安装一个Anaconda,启动jupyter来运行本代码。
import os,re

md_path="/Users/yutianran/MyPKM/MyObsidian/MyScript/gen_src.md"
bm_path="/Users/yutianran/MyPKM/MyObsidian/MyScript/gen_bm.html"

# [name](link) -> <DT><A HREF="link">name</A>
def link_to_chrome_dt(mdlink):
    p = re.compile("\[(.+)\]\((http[s]?://.*)\)")
    chromelink=re.sub(p,lambda m:f"<DT><A HREF=\"{m.group(2)}\">{m.group(1)}</A>",mdlink)
    return chromelink

# [name](link) list -> chrome 书签
def linklist_to_chrome(linklist):
    list_item_str=""
    for item in linklist:
        chrome_link=link_to_chrome_dt(item)
        list_item_str=list_item_str+f"    {chrome_link}\n"
    chrome_template="""<!DOCTYPE NETSCAPE-Bookmark-file-1>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
    <TITLE>Bookmarks</TITLE>
    <H1>Bookmarks</H1>
    <DL><p>
        <DT><H3 ADD_DATE="1634759143" LAST_MODIFIED="1634759173" PERSONAL_TOOLBAR_FOLDER="true">书签栏</H3>
        <DL><p>
    {LIST_ITEM}
        </DL><p>
    </DL><p>
    """
    chrome_str=chrome_template.replace("{LIST_ITEM}",list_item_str)
    return chrome_str

# 写入文本到文件
def write_str(val,path):
    if os.path.exists(path):
        os.remove(path)
    file=open(path,"w")
    file.write(val)
    file.flush()
    file.close()
    print(f"写入文本到文件成功:{path}")

f = open(md_path,"r") 
lines = f.readlines()
bm_str=linklist_to_chrome(lines)
write_str(bm_str,bm_path)
生成的html文件如下:
<!DOCTYPE NETSCAPE-Bookmark-file-1>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
    <TITLE>Bookmarks</TITLE>
    <H1>Bookmarks</H1>
    <DL><p>
        <DT><H3 ADD_DATE="1634759143" LAST_MODIFIED="1634759173" PERSONAL_TOOLBAR_FOLDER="true">书签栏</H3>
        <DL><p>
        <DT><A HREF="https://www.dedao.cn/courseArticle/bqzNakylrn9WVaPxbK7DOop10vZwLG">210讲:工作再设计 | 省钱的激励方式 - 得到APP</A>

    <DT><A HREF="https://www.google.com/search?q=%E8%B1%86%E7%93%A3%E8%B1%86%E5%88%97+%E5%AD%A6%E4%BC%9A%E6%80%9D%E8%80%83">豆瓣豆列 学会思考 - Google 搜索</A>

    <DT><A HREF="https://www.douban.com/people/pongba/doulists/all">刘未鹏pongba创建的豆列</A>

    <DT><A HREF="https://www.douban.com/doulist/127649/">『只读经典』思考的技术与艺术(原“学会思考”)</A>

    <DT><A HREF="https://www.zhihu.com/question/19570229">你用过的最好的代码阅读或编辑工具是什么? - 知乎</A>

        </DL><p>
    </DL><p>
    

Cubox导入书签

选择文件即可。
效果如下:
notion image

© fishyer 2022