Closed bluesxu closed 3 years ago
+1
我之前说想要加个插件功能就是因为这里一直不加下载功能,我打算自己开发个
加入下载功能就造成侵权了,容易收到律师函。。
加入下载功能就造成侵权了,容易收到律师函。。
所以我说了希望他们加个插件功能(看我之前写的issue),这样的话我可以以第三方的身份写一个插件,最后该收律师函的应该是我,但是我从来不实名(手动滑稽)
我在F12里面看到media是明文发送的,没有经过加密。是否可以提供一个函数,使得可以使用油猴脚本获取音乐url,再下载。而版权问题在脚本开发者这里,而不是软件开发者。其实我觉得该函数已经存在,只是我找不到。。。
我在F12里面看到media是明文发送的,没有经过加密。是否可以提供一个函数,使得可以使用油猴脚本获取音乐url,再下载。而版权问题在脚本开发者这里,而不是软件开发者。其实我觉得该函数已经存在,只是我找不到。。。
其实只要弄到歌曲id就行了,访问music.163.com/outer/歌曲id.mp3可获得文件
我在F12里面看到media是明文发送的,没有经过加密。是否可以提供一个函数,使得可以使用油猴脚本获取音乐url,再下载。而版权问题在脚本开发者这里,而不是软件开发者。其实我觉得该函数已经存在,只是我找不到。。。
我的music area就是这个原理(我是说4.0,之前的音源都是qq音乐)。
这个办法好像只能下载那些可以外链的音乐,但是我希望下载会员音乐(我有黑胶会员)
从 Windows 版邮件https://go.microsoft.com/fwlink/?LinkId=550986发送
发件人: @.> 发送时间: 2021年8月28日 16:07 收件人: @.> 抄送: Wu @.>; @.> 主题: Re: [qier222/YesPlayMusic] 能不能提供一个下载功能呢。软件很好用,非常感谢! (#890)
我在F12里面看到media是明文发送的,没有经过加密。是否可以提供一个函数,使得可以使用油猴脚本获取音乐url,再下载。而版权问题在脚本开发者这里,而不是软件开发者。其实我觉得该函数已经存在,只是我找不到。。。
其实只要弄到歌曲id就行了,访问music.163.com/outer/歌曲id.mp3可获得文件
― You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/qier222/YesPlayMusic/issues/890#issuecomment-907591268, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AMA56SBKY2ITH6N73BY6UN3T7CKKPANCNFSM5CJKS44Q. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
这个办法好像只能下载那些可以外链的音乐,但是我希望下载会员音乐(我有黑胶会员)
从 Windows 版邮件https://go.microsoft.com/fwlink/?LinkId=550986发送
发件人: @.***>
发送时间: 2021年8月28日 16:07
收件人: @.***>
抄送: Wu @.>; @.>
主题: Re: [qier222/YesPlayMusic] 能不能提供一个下载功能呢。软件很好用,非常感谢! (#890)
我在F12里面看到media是明文发送的,没有经过加密。是否可以提供一个函数,使得可以使用油猴脚本获取音乐url,再下载。而版权问题在脚本开发者这里,而不是软件开发者。其实我觉得该函数已经存在,只是我找不到。。。
其实只要弄到歌曲id就行了,访问music.163.com/outer/歌曲id.mp3可获得文件
―
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/qier222/YesPlayMusic/issues/890#issuecomment-907591268, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AMA56SBKY2ITH6N73BY6UN3T7CKKPANCNFSM5CJKS44Q.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
用UnblockNeteaseMusic,不过这样的话还不如直接坐享其成,就像你说的,直接用YesPlayMusic的函数
其实如果用网页版的话,还是很容易用油猴实现的,我就在我写的插件里面加了一个 QQ音乐播放器美化 - Greasy Fork
其实如果用网页版的话,还是很容易用油猴实现的,我就在我写的插件里面加了一个 QQ音乐播放器美化 - Greasy Fork
美化和下载还是不太一样的,我搞了半天都没做好逆向
其实如果用网页版的话,还是很容易用油猴实现的,我就在我写的插件里面加了一个 QQ音乐播放器美化 - Greasy Fork
美化和下载还是不太一样的,我搞了半天都没做好逆向
dom获取audio节点就好了😂只要不是,调用a标签的download属性特定,click就好
其实如果用网页版的话,还是很容易用油猴实现的,我就在我写的插件里面加了一个 QQ音乐播放器美化 - Greasy Fork
美化和下载还是不太一样的,我搞了半天都没做好逆向
dom获取audio节点就好了😂只要不是,调用a标签的download属性特定,click就好
要是有这么简单就好了 实际上我根本找不到它使用什么tag来播放音乐,反正不是我知道的方法。 而且网页PWA版似乎有些问题(登录后音乐灰色,搜索错误等),在你那边有出现吗?
其实如果用网页版的话,还是很容易用油猴实现的,我就在我写的插件里面加了一个 QQ音乐播放器美化 - Greasy Fork
美化和下载还是不太一样的,我搞了半天都没做好逆向
dom获取audio节点就好了😂只要不是,调用a标签的download属性特定,click就好
要是有这么简单就好了
实际上我根本找不到它使用什么tag来播放音乐,反正不是我知道的方法。
而且网页PWA版似乎有些问题(登录后音乐灰色,搜索错误等),在你那边有出现吗?
之前用python写qq音乐下载器的时候也遇到过搜索错误的问题,可以检查下是不是你的请求没有被正常处理,而是返回了一个错误信息。
其实如果用网页版的话,还是很容易用油猴实现的,我就在我写的插件里面加了一个 QQ音乐播放器美化 - Greasy Fork
美化和下载还是不太一样的,我搞了半天都没做好逆向
dom获取audio节点就好了😂只要不是,调用a标签的download属性特定,click就好
要是有这么简单就好了 实际上我根本找不到它使用什么tag来播放音乐,反正不是我知道的方法。 而且网页PWA版似乎有些问题(登录后音乐灰色,搜索错误等),在你那边有出现吗?
yesplaymusic.player._howler._src 播放资源src
其实如果用网页版的话,还是很容易用油猴实现的,我就在我写的插件里面加了一个 QQ音乐播放器美化 - Greasy Fork
美化和下载还是不太一样的,我搞了半天都没做好逆向
dom获取audio节点就好了😂只要不是,调用a标签的download属性特定,click就好
要是有这么简单就好了 实际上我根本找不到它使用什么tag来播放音乐,反正不是我知道的方法。 而且网页PWA版似乎有些问题(登录后音乐灰色,搜索错误等),在你那边有出现吗?
yesplaymusic.player._howler._src
播放资源src
在Windows,缓存目录是 %appdata%\yesplaymusic\Cache,里面的很多 f_xxxx 有一些是 mp3 文件,可以自己写程序遍历,一个个判断mp3信息,拿到要的歌曲。
在Linux系统下缓存目录在哪里 @qier222
如果会使用 F12 DevTools 的话,可以用它来下载。在 Application 页的 IndexedDB / yesplaymusic / trackSources 里面,根据 name 字段找到你要下载的歌曲,记下其 id,然后在 Console 页调用以下代码:
async function getRow(dbname, version, storage, id) {
// 打开数据库
const db = await new Promise((resolve, reject) => {
const request = indexedDB.open(dbname, version);
request.onerror = () => reject(request.error);
request.onsuccess = () => resolve(request.result);
});
// 获取事务和存储区域
const tx = db.transaction(storage, 'readonly');
const store = tx.objectStore(storage);
// 获取数据
const result = await new Promise((resolve, reject) => {
const request = store.get(id);
request.onerror = () => reject(request.error);
request.onsuccess = () => resolve(request.result);
});
// 关闭数据库
db.close();
// 返回结果
return result;
}
function download(id, path) {
const fs = require('fs');
getRow('yesplaymusic', 40, 'trackSources', id).then((record) => {
fs.appendFileSync(path, Buffer.from(record.source));
});
}
download(114514, 'C:/Users/YajuSenpai/Desktop/114514.mp3');
这个方法经测试在 YesPlayMusic v0.4.7 中可用。
版权声明:getRow
函数由 ChatGPT 编写,经其本机同意采用 WTFPL 协议发表。
如题