- 脚本部分命令可以合2为1,本人分开用于查看命令导出的数据信息便于脚本更新。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# !/bin/bash # 该脚本用于生成兼容PoiPlayer插件的网易云音乐电台播放列表 # 更新日期:2017-12-9 # For PoiPlayer v2.0.7 #拉取网页源代码,改成主播电台的链接地址 curl http://music.163.com/#/djradio?id=350021167 > vol1 curl http://music.163.com/#/djradio?id=349307397 > vol2 curl http://music.163.com/#/djradio?id=350026193 > vol3 curl http://music.163.com/#/djradio?id=350030502 > vol4 #删除上次历史数据 rm -rf mp3list title_id #循环语句,生成音乐属性 for vol in vol{1..4} do #生成专辑名称变量 album=`cat $vol | grep "<br>" | sed "s/<br>//g"` #生成音乐标题文件 cat $vol | grep "div class=\"tt f-thide" >> title_html awk -F"\"" '{print $6}' title_html >> title rm -f title_html #生成音乐ID文件 cat $vol | grep songlist >> songlist awk '{ print $2}' songlist | cut -c 14-22 >> id rm -f songlist #合并标题及ID paste -d : title id | sed -r 's/$/:'$album'/g' >> titleid rm -f title id #按标题进行排序 #awk '{printf("%02d %s\n", NR, $0)}' titleid | sort -r | cut -c 4- >> title_id sed -r 's/^/:/g' titleid | awk '{printf("%02d %s\n", NR, $0)}' | sort -r >> title_id rm -f titleid done #循环语句,生成音乐列表;下面的mid是歌曲的ID、pid是专辑封面的ID。 while read line do title=`echo $line | awk -F":" '{print $2}'` id=`echo $line | awk -F":" '{print $3}'` album=`echo $line | awk -F":" '{print $4}'` echo { >> mp3list echo " \"album\":\"$album\"," >> mp3list echo " \"title\":\"$title\"," >> mp3list echo " \"artist\":\"FLAC无损转码\"," >> mp3list echo " \"pid\":\"19093019416587651\"," >> mp3list echo " \"mid\":\"$id\"," >> mp3list echo "}," >> mp3list done < title_id |