基于微信公众平台的Python开发——(网易云)音乐搜索
来源:互联网 发布:java 迷宫移动 编辑:程序博客网 时间:2024/06/13 23:59
引言
关于微信公众平台开发——音乐搜索的相关背景知识,大家可以参看博客(http://blog.csdn.net/zhaoyazhi2129/article/details/9194483),里面有详细介绍,本文不做赘述。网上基本是基于百度音乐,其返回的是xml格式数据。个人感觉相比json格式,xml太繁琐。另外自己一直比较偏爱网易云音乐,于是决定摸索下开发基于网易云音乐的音乐在线搜索。最后自我感觉简单多了,都不用申请神马APIkey啥的。读者可以关注zakic2015体验该功能。效果图如下:
(小技巧:搜索关键字时,可通过增加歌手名来提高搜索结果准确度,即准确度:“音乐+歌名+歌手名”>“音乐+歌名")
网易云音乐搜索API
URL:http://s.music.163.com/search/get/获取方式:GET参数: src: lofter //可为空 type: 1 filterDj: true|false //可为空 s: //关键词 limit: 10 //限制返回结果数 offset: 0 //偏移 callback: //为空时返回json,反之返回jsonp callback
这里,我在处理过程中做了简化,直接令limit=1,搜索返回的json结果如下:
Python调用网易云音乐搜索API
# -*- coding: utf-8 -*-import urllib2import jsonclass NetMusic: def query_music_info(self,word): baseurl = r'http://s.music.163.com/search/get/?type=1&s=' qword = urllib2.quote(word) url = baseurl + qword + r'&limit=1&offset=0' resp = urllib2.urlopen(url) music = json.loads(resp.read()) return music
接下来就是解析返回的json数据了,首先看下微信公众平台回复音乐信息的reply_music.xml如下:
$def with (toUser,fromUser,createTime,musicTitle,musicDes,musicURL)<xml><ToUserName><![CDATA[$toUser]]></ToUserName><FromUserName><![CDATA[$fromUser]]></FromUserName><CreateTime>$createTime</CreateTime><MsgType><![CDATA[music]]></MsgType><Music><Title><![CDATA[$musicTitle]]></Title><Description><![CDATA[$musicDes]]></Description><MusicUrl><![CDATA[$musicURL]]></MusicUrl><HQMusicUrl><![CDATA[$musicURL]]></HQMusicUrl></Music></xml>
所以之后的工作就是从json数据中提取musicTitle,musicDes,musicURL三个参数。提取结果如下:
title = music['result']['songs'][0]['name']desc = u'来自网易云音乐' url = music['result']['songs'][0]['audio']return self.render.reply_music(fromUser,toUser,int(time.time()),title,desc,url)
参考
http://blog.csdn.net/zhaoyazhi2129/article/details/9194483
http://mrasong.com/a/163-music-api
http://www.52pojie.cn/thread-339852-1-1.html
体验(还有很多其他功能哦)
0 0
- 基于微信公众平台的Python开发——(网易云)音乐搜索
- 基于微信公众平台的Python开发——豆瓣电影搜索
- 基于微信公众平台的Python开发——自动回复
- 基于微信公众平台的Python开发——有道翻译
- 微信公众平台开发—access_token的获取存储与更新(Python开发)
- 微信公众平台接口程序搜索音乐
- 基于bluemix的微信公众平台开发——环境搭建
- 微信公众号开发(九):文本处理器之QQFace、从百度音乐搜索音乐
- 基于java的微信公众平台开发视频教程
- 微信公众平台开发—概述
- python开发微信公众平台 BAE
- python 微信公众平台开发
- python 微信公众平台开发
- 微信公众平台开发Python 版本
- Java微信公众平台开发(十一)——开发中微信公众平台/开放平台/商户平台的关联
- Java微信公众平台开发【番外篇】(七)——公众平台测试帐号的申请
- 利用python完成微信公众平台开发(1)
- 利用python完成微信公众平台开发(2)
- 480000 millis timeout while waiting for channel to be ready for write异常处理
- Memcached 的工作原理
- makefile
- 列举C++数据库开源工具
- static静态变量的理解
- 基于微信公众平台的Python开发——(网易云)音乐搜索
- DM8168移植wis-streamer(Live555交叉编译)
- Android-通过SlidingPaneLayout高仿微信6.2最新版手势滑动返回(一)
- ubunte中用ibus-setup安装中文输入法
- 计算机网络--概述
- VS2010, VS2008发布网站,无法显示网站数据
- 入侵渗透专用的python小脚本
- DM8168 IPNC Boa移植
- 写给自己