Posted on 2008-02-17 18:03
代碼亂了 閱讀(2037)
評論(15) 編輯 收藏 網(wǎng)摘 所屬分類:
生活隨筆
作者:代碼亂了 轉(zhuǎn)載請注明出去
YOBO是我比較喜歡的一個音樂站點,界面清爽,獨特的“音樂DNA”(即通過心理測試來為你自動推薦歌曲),國內(nèi)的音樂推薦站點中算是一枝獨秀。音樂全部在官方專用服務(wù)器存儲,下載速度飛快,格式統(tǒng)一為 mp3,碼率128kbps ,ID3標(biāo)簽完整。配合站內(nèi)歌手專輯的索引,基本可以替代 Baidu Mp3 搜索和 Kugoo 的下載。郁悶的是該站點禁止下載任何歌曲,網(wǎng)站上沒有任何歌曲的下載的鏈接。
查看歌曲播放列表的html,對每一首歌曲,具體的播放的 html 代碼如下:
<div id="ybs69395279811" class="yobosongbar" onmouseover="show_songmenu('ybs69395279811_flag','69395',false,'singer_album_list');" onmouseout="Element.hide('yobo_songmenubar');"><table id="ybs69395279811_table" class="table" cellpadding="0" cellspacing="0"><tbody><tr><td class="control"><a href="javascript:void(0);" onclick="yobo_play_song('http://222.168.102.102//i/0903/68728',69395,279811,false);" id="ybs69395279811_ctrl" class="controllink"> </a></td><td id="ybs69395279811_time" class="time">00:00</td><td class="linkblock"><a href="/song/view/69395" target="_blank" title="逆水寒" class="songlink">逆水寒</a></td><td class="by">by</td><td class="linkblock"><a href="/singer/home/1070" class="singerlink" target="_blank" title="侃侃">侃侃</a></td></tr></tbody></table><div id="ybs69395279811_flag" class="flag"><img src="/images/blank_image.gif" /></div></div>
實際的地址是:在加亮部分的后面加上后綴.mp3 后即為文件真實地址 http://222.168.102.102//i/0903/68728218.mp3 ,下載時需要給服務(wù)器發(fā)送 www.yobo.com 的引用信息,否則返回 20K 左右的無效文件。
Opera瀏覽器下可以利用UserJs(用戶腳本) Firefox瀏覽器下可以利用GreaseMonkey插件,加入自己的用戶腳本,要實現(xiàn)加入一個下載mp3的鏈接并不難。這里順便解釋一下什么是GreaseMonkey?
greasemonkey 使你可以向任何網(wǎng)頁添加DHTML語句(用戶腳本)來改變它們的顯示方式。就像CSS可以讓你接管網(wǎng)頁的樣式,而用戶腳本(User Script)則可以讓你輕易地控制網(wǎng)頁設(shè)計與交互的任何方面。GREASEMONKEY由GOOGLE員工Aaron Boodman編寫,在FIREFOX上首先盛行,是一個不可或缺的插件。IE下相對應(yīng)的GreaseMonkey插件是Trixie,下載Trixie安裝以后,你的IE也就支持Greasemonkey了,這兩個插件都涉及javascript管理。
點擊進(jìn)入Greasemonkey下載頁面 http://greasemonkey.mozdev.org/
點擊進(jìn)入Trixie下載地址 http://www.bhelpuri.net/Trixie/TrixieSetup.msi
IE下的Trixie插件功能還是蠻強大的,基本可以匹敵Opera下的UserJs了,并且有腳本管理的界面,下載安裝后把以下腳本文件放入C:\Program Files\Bhelpuri\Trixie\Scripts\文件夾下,
// ==UserScript==
// @name YOBO mp3 download
// @namespace http://www.bhelpuri.net/Trixie
// @description Creates a link to download yobo mp3
// @include http://www.yobo.com/*
// @auther 代碼亂了
// ==/UserScript==
(function ()
{
var es=document.body.getElementsByTagName("a");
for(var i=0;i<es.length;i++)
{
o=es[i];
if(o.getAttribute('className')=="controllink"||o.getAttribute('className')=="songctrl")
{
if(o.tag)
{
continue;
}
o.tag="fixed";
var u=o.getAttribute('onclick').toString().replace(/(yobo_play_lite|yobo_play_song)\(\'/,'').replace(/\',.*/,'')+'.mp3';
u=u.replace(/\r|\n|function anonymous\(\)|{|}/g,'');
var elem=document.createElement("a");
elem.href=u;
elem.innerText="下載 ";
elem.style.dispaly='inline-block';
elem.style.textDecoration='none';
//o.parentElement.parentNode.childNodes[2].appendChild(elem);
o.parentElement.parentNode.childNodes[2].insertBefore(elem,o.parentElement.parentNode.childNodes[2].childNodes[0]);
}
}
}
)();
打開IE,點擊“工具-Trixie Option”打開Trixie的設(shè)置界面,在我們的腳本YOBO mp3 download上打上勾,便可以使用了
從打開YOBO的排行榜,看到的前后效果應(yīng)該是
測試環(huán)境:IE6+Windows XP
IE7下測試通過
本文相關(guān)的代碼
下載