虾米音乐网精选集/专辑/单曲歌词一键批量下载

网友HTwood在《XiamiThief v0.5.4 小更新版本发布》问能否开发一款根据现有虾米网址仅下载LRC歌词的软件.

于是今天刷完剑灵的活力值后我就试着做了这样一个书签(部分使用了php.js的代码):

虾米歌词下载{var c;function f(p,n){var k={},m={},j;var l={},i={};var q={},o={};l[0]="HTML_SPECIALCHARS";l[1]="HTML_ENTITIES";i[0]="ENT_NOQUOTES";i[2]="ENT_COMPAT";i[3]="ENT_QUOTES";q=!isNaN(p)?l[p]:p?p.toUpperCase():"HTML_SPECIALCHARS";o=!isNaN(n)?i[n]:n?n.toUpperCase():"ENT_COMPAT";if(q!=="HTML_SPECIALCHARS"&&q!=="HTML_ENTITIES"){throw new Error("Table:> '+q+" not supported')}k["38"]="&";if(q==="HTML_ENTITIES"){k["160"]=" ";k["161"]="¡";k["162"]="¢";k["163"]="£";k["164"]="¤";k["165"]="¥";k["166"]="¦";k["167"]="§";k["168"]="¨";k["169"]="©";k["170"]="ª";k["171"]="«";k["172"]="¬";k["173"]="­";k["174"]="®";k["175"]="¯";k["176"]="°";k["177"]="±";k["178"]="²";k["179"]="³";k["180"]="´";k["181"]="µ";k["182"]="¶";k["183"]="·";k["184"]="¸";k["185"]="¹";k["186"]="º";k["187"]="»";k["188"]="¼";k["189"]="½";k["190"]="¾";k["191"]="¿";k["192"]="À";k["193"]="Á";k["194"]="Â";k["195"]="Ã";k["196"]="Ä";k["197"]="Å";k["198"]="Æ";k["199"]="Ç";k["200"]="È";k["201"]="É";k["202"]="Ê";k["203"]="Ë";k["204"]="Ì";k["205"]="Í";k["206"]="Î";k["207"]="Ï";k["208"]="Ð";k["209"]="Ñ";k["210"]="Ò";k["211"]="Ó";k["212"]="Ô";k["213"]="Õ";k["214"]="Ö";k["215"]="×";k["216"]="Ø";k["217"]="Ù";k["218"]="Ú";k["219"]="Û";k["220"]="Ü";k["221"]="Ý";k["222"]="Þ";k["223"]="ß";k["224"]="à";k["225"]="á";k["226"]="â";k["227"]="ã";k["228"]="ä";k["229"]="å";k["230"]="æ";k["231"]="ç";k["232"]="è";k["233"]="é";k["234"]="ê";k["235"]="ë";k["236"]="ì";k["237"]="í";k["238"]="î";k["239"]="ï";k["240"]="ð";k["241"]="ñ";k["242"]="ò";k["243"]="ó";k["244"]="ô";k["245"]="õ";k["246"]="ö";k["247"]="÷";k["248"]="ø";k["249"]="ù";k["250"]="ú";k["251"]="û";k["252"]="ü";k["253"]="ý";k["254"]="þ";k["255"]="ÿ"}if(o!=="ENT_NOQUOTES"){k["34"]="""}if(o==="ENT_QUOTES"){k["39"]="'"}k["60"]="<";k["62"]=">";for(j in k){if(k.hasOwnProperty(j)){m[String.fromCharCode(j)]=k[j]}}return m}function e(k,n){var m={},l="",i="",j="";i=k.toString();if(false===(m=f("HTML_ENTITIES",n))){return false}delete (m["&"]);m["&"]="&";for(l in m){j=m[l];i=i.split(j).join(l)}i=i.split("'").join("'");return i}function h(){if(window.XMLHttpRequest){return new window.XMLHttpRequest()}else{var k=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];for(var m=0;m<k.length;m++){try{var j=new ActiveXObject(k[m]);return j}catch(l){}}return null}}function g(k,i,j){return e(c.replace("%name%",k).replace("%artist%",i).replace("%album%",j)).replace(/(\/|\|\:|*|\?|\"|\<|>|||\s+)/g," ")}function a(k,j,i){var l=a.cache||(function(){return a.cache=document.body.appendChild(document.createElement("a"))})();l.download=j;l.href=k;l.click()}var d=window.location,b={root:"http://www.xiami.com/app/android/",album:function(i){return this.root+"album?id="+i},song:function(i){return this.root+"song?id="+i},collect:function(i){return this.root+"collect?id="+i},getInfo:function(k,n){var l=this[k],j=l&&l.call(this,n),m=h(),i;if(j&&m){m.open("GET",j,false);m.send(null);i=m.status===200&&JSON.parse(m.responseText)}return i}};(function(){if(d.hostname==="www.xiami.com"){var j=d.pathname.split("/"),l=j[2]==="showcollect"?"collect":j[1],p=l==="collect"?j[4]:j[2],n=b.getInfo(l,p),m=n[l].songs||[n.song],o;if(!(c=prompt("设置文件名保存格式, 可用变量(不区分大小写)\n:%NAME%, %ARTIST%, %ALBUM%","%NAME% - %ARTIST% - %ALBUM%.lrc").toLowerCase())){return false}for(var k=0;k<m.length;k++){o=m[k];if((o.lyric&&o.lyric.indexOf(".lrc")>=0)||(o.song_lrc&&o.song_lrc.indexOf(".lrc")>=0)){(function(){var q=o.lyric||o.song_lrc,i=g(o.name||o.song_name,o.artist_name,o.title||o.album_name);setTimeout(function(){a(q,i)},0)})()}}}else{alert("无法在该页面使用.")}})()})();)(拖动链接到书签栏)

用法很简单, 打开虾米音乐网的精选集/专辑/单曲页面, 然后打开书签即可(建议使用Chrome等现代浏览器, 我只在Chrome中测试过代码).

源码: https://gist.github.com/BlackGlory/8111085