惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
B
Blog RSS Feed
A
About on SuperTechFans
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
D
Docker
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
H
Help Net Security
WordPress大学
WordPress大学
MyScale Blog
MyScale Blog
博客园 - Franky
人人都是产品经理
人人都是产品经理
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
Apple Music 新玩法——Workflow获取虾米评论以及导入虾米精选...
2017-02-19 · via 少数派

xiami.jpg

引言

自从用学生优惠入了 apple music 以来,就开始常用 Apple Music听歌。界面的美观以及纯粹的听歌体验着实不错。虽说类似于 apple music 或者 spotify 这类只关心纯净的聆听体验,不太在意社交元素,可是免不了听到一首有感触的歌或者遇到一位歌手,想要知道关于他们的评论,想除了音乐以外听见更多的声音。这时候社交评论其实就很重要了。

于是想到用 Workflow获取正在听的歌然后将数据发送至国内音乐平台后返回评论数据进行处理然后在通知中心小插件快速查看的方式。

于是『又』折腾了一下午加上今天的功能完善做出了这样一个能够满足我现有对评论所有向往的 Workflow。 介于网易云音乐评论采用 js 加密,并且没有开放 api 接口的情况下。以下采用虾米评论获取。『其实我是一个老虾米了,私以为虾米的评论质量和对音乐专业性要高一些些』

还是老样子,一句话说一下这个 Workflow有什么用

方便用 apple music的用户偶尔想看一下这首歌(歌手,专辑)在虾米的大家的评论

效果预览及下载

Image

一键选择并获取该歌曲,歌手,专辑在虾米的评论。拉取最热门评论3条以及最新评论10条,热门评论以🔥作为前缀显示。并支持点开单挑评论查看,以及重复查看多条评论。

下载:一键获取虾米音乐评论 for apple music

为了方便虾米用户,根据@特殊字符Alan用 Workflow 从网易云音乐迁移数据至 Apple Music 或 Spotify做了一个导入虾米精选集的 workflow,自动填写精选集名称以及作者。(请移步上面链接查看原理)

Image

下载:一键导入虾米精选集

实现原理

实现这个 Workflow 的原理主要在于获取当前歌曲信息后,将信息以关键词的形式发送到第三方的 search api 后获取返回的歌曲或者专辑或者歌手的 id ,然后在虾米的网页上抓去该页面评论的数据。

1. 列出 menu 选择抓取的类型

368617.jpg

首先是获取歌曲的信息,这个比较简单容易,然后设置不同的变量名称方便后面使用。然后列出 menu 来选择查看的评论类型。

2. 根据类型进行抓取 id

根据所选的不同类型来匹配不同的搜索 api,以及 json 的 key,当然最后要返回的都是歌曲,歌手,专辑的 id。

368620.jpg

这里需要注意的是,先讲 keyword 进行网页编码,方便作为 url 中使用,然后一番 json信息的筛选获取到所需的 id 值。

368624.jpg

3. 根据ID进行网页内容抓取

368627.jpg通过返回的 id 我们进行详情页的分析,可以看到,热门评论是在<div id="brief_2_XXXXXXXX"> 的 div 框下的,而普通评论则是在<div id="brief_XXXXXXX"> 下。为了让两个评论有所区分,我才用了先用 replace text 将匹配的<div id="brief_2_XXXXXXXX">替换为带有🔥标志的普通评论,即

<div id="brief_2_[\s\S]*?">   到  <div id="brief_120606">🔥

这里用到了正则匹配,匹配了以<div id="brief_2_[\s\S]*?">,_2_与>中间为任意字符的 text。

368630.jpg

然后我们需要提取网页中所有的评论了。这里就需要用到 match text来 match

<div id="brief_[\s\S]*?">([\s\S]*?)</div>

这是以 brief_与>中间任意字符,以</div>结尾的所有匹配的,将我们需要获取的评论内容放在()内,()用来定位,以便于后面在「Get Group from Matched Text」中输出。

我们就得到了所有的评论,然后后面就比较简单了,我们只需要删除评论中的一些 html 标签元素以及带有分享信息的一些例如『分享自 iPhone 客户端』之类的东西。用到的也是 replace text。这里用到了一个<[^>]*>来删除所有 html 标签。

IMG_1973.PNG

4. 评论的输出

368635.jpg这里只需要用到一个 if 语句来判断是否有评论获取,如果没有,输出相应的提示 alert,如果有得话,这里为了方便能够在通知中心中查看多次,设定了一个高次数的 repeat,来让用户单独查看每一个评论。

写在最后

自己是一个学设计的工业设计生,只是对这些东西感兴趣而且能够真正的解决自己的一些刚性需求。我觉得 workflow 真的是一个可以提升很大效率的工具,虽然我懂的也不多,但目前它实实在在的解决了我很多的问题与需求,这个 workflow 其实也有很多问题。例如,最开始版本我是将评论直接以翻页的形式每页展现固定条数的,但是发现有的评论字数很多,会导致通知中心崩溃,无法载入。我也不知道怎么控制行数的问题,因为有的评论自带比较多的换行,于是最后用了这个还算可以的解决方式,还变相的解决了不感兴趣的评论我就折叠起来的需求,哈哈。希望大家用的开心!