作者:代码乱了 转载请注明出去
YOBO是我比较喜欢的一个音乐站点,界面清爽,独特的“音乐DNA”(即通过心理测试来为你自动推荐歌曲),国内的音乐推荐站点中算是一枝独秀。音乐全部在官方专用服务器存储,下载速度飞快,格式统一为 mp3,码率128kbps ,ID3标签完整。配合站内歌手专辑的索引,基本可以替代 Baidu Mp3 搜索和 Kugoo 的下载。郁闷的是该站点禁止下载任何歌曲,网站上没有任何歌曲的下载的链接。
查看歌曲播放列表的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 ,下载时需要给服务器发送 www.yobo.com 的引用信息,否则返回 20K 左右的无效文件。
Opera浏览器下可以利用UserJs(用户脚本) Firefox浏览器下可以利用GreaseMonkey插件,加入自己的用户脚本,要实现加入一个下载mp3的链接并不难。这里顺便解释一下什么是GreaseMonkey?
greasemonkey 使你可以向任何网页添加DHTML语句(用户脚本)来改变它们的显示方式。就像CSS可以让你接管网页的样式,而用户脚本(User Script)则可以让你轻易地控制网页设计与交互的任何方面。GREASEMONKEY由GOOGLE员工Aaron Boodman编写,在FIREFOX上首先盛行,是一个不可或缺的插件。IE下相对应的GreaseMonkey插件是Trixie,下载Trixie安装以后,你的IE也就支持Greasemonkey了,这两个插件都涉及javascript管理。
点击进入Greasemonkey下载页面 http://greasemonkey.mozdev.org/
点击进入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==
![](/Images/OutliningIndicators/None.gif)
(
function
()
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
var es=document.body.getElementsByTagName("a");
for(var i=0;i<es.length;i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
o=es[i];
if(o.getAttribute('className')=="controllink"||o.getAttribute('className')=="songctrl")
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if(o.tag)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
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的设置界面,在我们的脚本YOBO mp3 download上打上勾,便可以使用了
![](https://i-blog.csdnimg.cn/blog_migrate/6afa953ddaad7bd8e38835fbfc84f1f7.jpeg)
从打开YOBO的排行榜,看到的前后效果应该是
![](https://i-blog.csdnimg.cn/blog_migrate/bcf4586e93a41718ed2e8f4f1bd9d713.jpeg)
测试环境:IE6+Windows XP
IE7下测试通过
本文相关的代码
下载