NodeJS 下载 天天动听(www.dongting.com)的红心列表

2014-09-19 20:55:29 +08:00
 asdftu
一直使用天天动听的在线音乐服务,并且有自己的红心列表,但最近发现天天动听越来越难用,bug越来越多,就决定把自己收藏多年的红心列表down下来。

思路如下:

1. 获取songid, 红心列表的div有统一的class叫“redHeart”

如下:
<span data-songid=​"19741134" class=​"redHeart">​</span>​

2. 请求song Info,

用拿到的songid, 发送以下请求:
http://ting.hotchanson.com/website/ting?song_id=339470&code=-659b07f

http://ting.hotchanson.com/website/ting?” 是固定的host地址,
后面有两个参数,一个是songid, 一个是code,code值是songid做crc32之后的4byte的值。

3. 拿到songInfo,

如果前两步没有问题,则会返回以下结果:

{"code":1,"data":
[
{"singer_id":50569,"song_id":339470,"pick_count":250937,"album_name":"恋人创世纪","singer_name":"周传雄","url_list":
[
{"duration":"04:53","form
at":"m4a","bitrate":32,"type_description":"压缩品质","url":"http://jdlbqc.tgg.yymommy.com/m4a_32_3/d6/43/d6e5c0b05f266044ba0cb0ab4b7cf243.m4a?k=6e3449d7aaf63b67
&t=1411550536","size":"1.14M","type":1}
,
{"duration":"04:53","format":"m4a","bitrate":96,"type_description":"标准品质","url":"http://b.ali.hotchanson.com/m4a_96_
3/d6/43/d6e5c0b05f266044ba0cb0ab4b7cf243.m4a?k=6e3449d7aaf63b67&t=1411550536","size":"3.35M","type":2}
,
{"duration":"04:53","format":"mp3","bitrate":128,"type_de
scription":"标准品质","url":"http://jdlbqc.tgg.yymommy.com/mp3_128_3/d6/43/d6e5c0b05f266044ba0cb0ab4b7cf243.mp3?k=6e3449d7aaf63b67&t=1411550536","size":"4.47M",
"type":3}
],"song_name":"关不上的窗"}]}

该歌曲的各种信息,包括下载url都有了。

——————————————
ps:
1. 如果用temperMoney做的话可以实现全自动了,现在是在chrome F12 -> Console -> document.getElementsByClassName() 拿到的songid。
2. songid是从0开始的,如果你下载 songid ∈(0, +∞)的话,应该能把整个服务器的歌曲都下载到。^_^
3. 需要代码的话私信我。
4. 如果你有多个要下载的,请在没两次下载之间停顿几秒钟,否则服务器会扛不住的。

以上。
3479 次点击
所在节点    分享创造
3 条回复
jaylong
2014-09-19 21:08:21 +08:00
之前一直用旧版的酷我音乐盒听歌,自从几年前换mac之后就没在用过,当时备份了播放列表文件,现在发现网易云音乐不错想把原来的列表导进去,发现只支持新版酷我音乐盒的播放列表导入,楼主能不能帮忙研究一下?
asdftu
2014-09-19 21:11:50 +08:00
@jaylong 现在我也在用网易云音乐,之后我会留意下网易云音乐怎么导入其他客户端的列表的
jaylong
2014-09-19 21:18:16 +08:00
@asdftu以前酷我音乐盒播放列表的格式是.pl 现在最新版支持的格式是.kwl

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/134542

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX