• 采集练习(十二) python 采集之 xbmc 酷狗电台插件


      前段时间买了个树莓派才知道有xbmc这么强大的影音软件(后来我逐渐在 电脑、手机和机顶盒上安装xbmc),在树莓派上安装xbmc后树莓派就成为了机顶盒,后面在hdpfans论坛发现了jackyspy 版主写的xbmc插件开发教程(赞一个!写的非常不错)。于是自己尝试去看了下觉得非常不错。刚好自己去年学过python(一直没搞过实际的东西),于是就写了酷狗电台这个插件。

    我一直用酷狗听歌 电脑上这几年一直用web版酷狗 链接是 http://web.kugou.com ,当然本来开始准备到 这个链接里找到酷狗的播放链接,用浏览器查看一番后发现用的是flash,没搞定,后来在 酷狗的html5版发现了酷狗的播放列表。

    插件实现的都是基本功能,连歌手、歌手图片也没提供;

    音频来源于酷狗的html5版 http://m.kugou.com ,格式为m4a,连接速度还行。

    以下是步骤 

    1、打开 http://m.kugou.com  选择电台播放   在chrome 浏览器 ->开发者工具-> console 里发现 一个 ajax请求 (下面几步都可以在console 或network 里看到相应的url请求)  http://m.kugou.com/app/i/fmList.php?pageindex=2&pagesize=20 里面就是电台列表

      参数pageindex 应该表示 页数、 pagesize表示每页电台数量。

    打开这个链接 发现里面就是电台列表 的json  解析后如下图

    分析后这个json不难发现 每个参数的意思。 fmid: 电台id  、fmname:电台名 、fmSongData :电台第一首歌的相应信息,其他参数也可以猜出。

    2、选择一个电台播放后继续在 浏览器 ->开发者工具-> network 发现一个 请求  http://m.kugou.com/app/i/fmSongs.php?fmid=3&offset=0&size=20  获得电台里的所有歌曲列表

         参数 fmid表示电台id 、 offset 表示查询起点、size 表示 显示数量。

      里面的参数一看就知道,其中 hash应该是歌曲的id,下面要根据hash获得歌曲的真实地址。 

    3、 根据前一步获得的 歌曲的hash现在就可以获得 mp3的真实地址了 如 http://m.kugou.com/app/i/getSongInfo.php?hash=5D5D67FA9B7AEF5BFA948EBB2FFE168A&cmd=playInfo  参数hash就是上一步获得的hash 其中 cmd=playInfo 必须,缺少将 无法获得歌曲信息

    现在基本就搞定了。

    当然你如果在浏览器继续查看相应的请求、还有相应的请求获得 歌手图片、歌词信息,不过那些信息,都要获得先获得歌手名或歌名、根据第2步里的获得的数据就可以获得。

    好了! 代码这里就不放了, 因为已经放到github 里去了, 地址是 https://github.com/keygle/plug.audio.kugoufm  里面是用python实现的。

  • 相关阅读:
    Java Gradle
    C/C++ C++11新特性
    C/C++ C++11原子类型和内存序
    基于流的编程(Flow-Based Programming)
    算法和数据结构 筛法求素数
    数据库 悲观锁和乐观锁
    数据库 事务隔离级别
    Serverless 的 AI 写诗,程序员浪漫起来谁能顶得住啊!
    亮点前瞻 | 首届 ServerlesssDays · China 大会议程发布
    腾讯云云函数 SCF Node.js Runtime 最佳实践
  • 原文地址:https://www.cnblogs.com/keygle/p/3293194.html
Copyright © 2020-2023  润新知