易语言通过解析免费下载QQ付费音乐的代码

论坛 期权论坛 脚本     
niminba   2021-5-23 04:41   2367   0

常量数据表

.版本 2
.常量 链接1, "<文本长度: 9>"
.常量 链接2, "<文本长度: 2>"

QQ付费音乐下载器

此功能配合精易模块5.6使用,需要加载模块.

.版本 2
.支持库 downlib
.支持库 iext
.支持库 spec
.支持库 shell
.程序集 窗口程序集_启动窗口
.程序集变量 任务, 任务参数
.程序集变量 下载限速, 整数型
.程序集变量 下载对象, 下载对象
.子程序 _按钮1_被单击
.如果 (寻找文本 (编辑框1.内容, “play”, , 假) = -1)
  歌曲搜索 ()
.否则
  歌单列表 ()
.如果结束
.子程序 歌曲搜索
.局部变量 标题转码, 文本型
.局部变量 歌曲列表, 文本型
.局部变量 josn, 类_json
.局部变量 i, 整数型
.局部变量 音乐标题, 文本型
.局部变量 歌手, 文本型
.局部变量 专辑, 文本型
.局部变量 文件名, 文本型
.局部变量 索引, 整数型
.局部变量 发行时间, 文本型
.局部变量 链接, 文本型
.局部变量 o, 整数型
超级列表框1.全部删除 ()
标题转码 = 编码_URL编码 (编辑框1.内容, , 真)
.计次循环首 (2, o)
  歌曲列表 = 编码_utf8到gb2312 (到文本 (网页_访问 (“https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.center&searchid=47333670699582939&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=” + 到文本 (0) + “&n=20&w=” + 标题转码)))
  歌曲列表 = 文本_取出中间文本 (歌曲列表, “callback(”, “})”)
  歌曲列表 = 歌曲列表 + “}”
  .如果真 (josn.解析 (歌曲列表))
    .计次循环首 (josn.成员数 (“data.song.list”), i)
      音乐标题 = josn.取通用属性 (“data.song.list[” + 到文本 (i - 1) + “].title”)
      歌手 = josn.取通用属性 (“data.song.list[” + 到文本 (i - 1) + “].singer[0].name”)
      专辑 = josn.取通用属性 (“data.song.list[” + 到文本 (i - 1) + “].album.name”)
      发行时间 = josn.取通用属性 (“data.song.list[” + 到文本 (i - 1) + “].time_public”)
      文件名 = josn.取通用属性 (“data.song.list[” + 到文本 (i - 1) + “].mid”)
      链接 = 编码_utf8到gb2312 (到文本 (网页_访问_对象 (“https://i.y.qq.com/v8/playsong.html?ADTAG=newyqq.song&songmid=” + 文件名 + “#webchat_redirect”, 0, , , , “User-Agent: Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like)”, , , , , , , , , , )))
      链接 = 文本_取出中间文本 (链接, #链接1, #链接2)
      调试输出 (链接)
      索引 = 超级列表框1.插入表项 (, , , , , )
      超级列表框1.置标题 (索引, 0, 到文本 (超级列表框1.取表项数 ()))
      超级列表框1.置标题 (索引, 1, 音乐标题)
      超级列表框1.置标题 (索引, 2, 歌手)
      超级列表框1.置标题 (索引, 3, 专辑)
      超级列表框1.置标题 (索引, 4, 发行时间)
      超级列表框1.置标题 (索引, 5, 文件名)
      超级列表框1.置标题 (索引, 6, 链接)
    .计次循环尾 ()
  .如果真结束
.计次循环尾 ()
.子程序 歌单列表
.局部变量 id, 文本型
.局部变量 列表文本, 文本型
.局部变量 josn, 类_json
.局部变量 i, 整数型
.局部变量 音乐标题, 文本型
.局部变量 歌手, 文本型
.局部变量 专辑, 文本型
.局部变量 文件名, 文本型
.局部变量 链接, 文本型
.局部变量 索引, 整数型
超级列表框1.全部删除 ()
id = 文本_倒取出中间文本 (编辑框1.内容, “.html”, “/”)
列表文本 = 编码_utf8到gb2312 (到文本 (网页_访问 (“https://c.y.qq.com/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.fcg?type=1&json=1&utf8=1&onlysong=0&disstid=” + id + “&format=jsonp&g_tk=5381&jsonpCallback=playlistinfoCallback&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq&needNewCode=0”)))
列表文本 = 文本_取出中间文本 (列表文本, “playlistinfoCallback(”, “})”)
列表文本 = 列表文本 + “}”
.如果真 (josn.解析 (列表文本))
  .计次循环首 (josn.成员数 (“cdlist[0].songlist”), i)
    音乐标题 = josn.取通用属性 (“cdlist[0].songlist[” + 到文本 (i - 1) + “].songname”)
    歌手 = josn.取通用属性 (“cdlist[0].songlist[” + 到文本 (i - 1) + “].singer[0].name”)
    专辑 = josn.取通用属性 (“cdlist[0].songlist[” + 到文本 (i - 1) + “].albumname”)
    文件名 = josn.取通用属性 (“cdlist[0].songlist[” + 到文本 (i - 1) + “].songmid”)
    链接 = 编码_utf8到gb2312 (到文本 (网页_访问_对象 (“https://i.y.qq.com/v8/playsong.html?ADTAG=newyqq.song&songmid=” + 文件名 + “#webchat_redirect”, 0, , , , “User-Agent: Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWKLM
XLL
MY


HB.B."l,y+9aj:`yky.n#9&ykyk)9ki.h9% !ymg9am 9kc h9./;,(,(i)/c.+ i9/h9)&alz+"halO
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP