首先声明,该段代码不是我写的。是在开源中国上看到某人分享的一段代码,原理是利用百度api获取一段xml文件,再通过xmllint对xml文件进行处理,进而获取mp3的播放地址,再利用mplayer去调用。
脚本执行方法为:./playbaidumusic.sh,空参则播放“大约在冬季-齐秦”
./playbaidumusic.sh 东风破 周杰伦 ,第一个参数为歌曲名,第二个参数为歌手名。该脚本的内容为:
#!/bin/bash #脚本作用,调用mplayer播放百度音乐,需要预装mplayer #定义各种变量 title=${1:-'大约在冬季'} #歌曲名 performer=${2:-'齐秦'} #歌手名 getmp3url(){ url='http://box.zhangmen.baidu.com/x?op=12&count=1&title='$title'$$'$performer'$$$$' xml=`curl -s ''$url''` count=`echo $xml | xmllint --xpath '/result/count/text()' - ` if [ "$count" -eq 0 ] then exit 1 fi encode=`echo $xml | xmllint --xpath '/result/url[1]/encode[1]/text()' - | sed -r 's/