使用 org-protocol 生成听歌排行
作者创建了一个听歌排行页面,使用网易云音乐的数据,并通过Emacs、Tampermonkey等工具抓取并保存到博客中。 2025-9-28 21:55:12 Author: taxodium.ink(查看原文) 阅读量:17 收藏

🎶 鞋底子 + 十八岁 (Outro) - 夏之禹 / 地磁卡

在整理 Blaugust Feed 的时候,看到 Matt 的 Now Playing 页面,里面罗列了他的 Top 10 Tracks。

感觉蛮有趣的,于是我也模仿做了一个 听歌排行 页面。

我主要使用网易云音乐听歌,它本身就有听歌排行,我要做的就是拉取下来,格式化后记录到博客文章中。

主要用到 Emacsorg-protocol.el 1Tampermonkey

流程是这样的:

  1. 登录 网页版的网易云音乐,跳转到听歌排行页面。2
  2. 使用 Tampermonkey 写点 脚本 解析排行页面的元素,然后格式化成自己需要的格式。3
  3. 把格式化后的数据保存到博客文章,我的博客是用 Emacs 和 org-mode 写的4,可以利用 org-protocol.el 和 org-mode 的 capture 5功能,捕获并写入到我指定的文件里。

    capture 模版
    ("m" "Music Rank" entry
     (file+headline "~/git/taxodium/posts/20250928T170716--听歌排行__blackhole_music.org" "每周排行")
     "* %<%Y-%m-%d W%W %A> \n #+begin_details\n#+html: <summary>Top100</summary>\n%i\n#+end_details"
     :jump-to-captured t
     :empty-lines 1
     :prepend t
     :immediate-finish t)
    
    • 使用 file+headline 指定捕获的位置,放到指定文件的指定标题下
    • 设置捕获的模板,我用一个日期作为标题,记录快照的时间;然后把 Tampermonkey 获取到的数据放到一个 <details> 元素里
    • 设置 :prepend t 使得每次捕获的内容都在前面

或许你不用 Emacs,但获取数据的方法是类似的,只是如何保存你需要考虑一下。

Webmentions (加载中...)

如果你想回应这篇文章,你可以在你的文章中链接这篇文章,然后在下面输入你的文章的 URL 并提交。你的回应随后会显示在此页面上(如果是垃圾信息我会屏蔽)。如果要更新或删除你的回应,请更新或删除你的文章,然后再次输入该文章的 URL 并提交。(了解有关 Webmention 的更多信息。)


    创建于:2025-09-28 Sun 19:54

    修改于: 2025-09-28 Sun 20:46

    许可证: 署名—非商业性使用—相同方式共享 4.0

    支持我: 用你喜欢的方式


    文章来源: https://taxodium.ink/use-org-protocol-to-capture-music-rank.html
    如有侵权请联系:admin#unsafe.sh