[Vkontakte] [Загрузка Музыки \ Видео на компьютер]
1) Рассмотрим вариант с музыкой, ее можно загрузить с помощью программ и скриптов!
Скрипты:
Описание:
Скрипт для GreaseMonkey или браузера Opera
Добавляет около кнопок прослушивания музыки ссылку для скачивания и ссылку для быстрого поиска слов песни.
Для работы нужен Firefox с установленным дополнением GreaseMonkey или Opera.
Если вы используете Opera, то полученный файл надо будет сохранить в тот каталог,
который выбран в “Tools > Preferences > Advanced > Content > JavaScript option > User JavaScript files”
Код:
Скопировать в буфер обмена
// ==UserScript==
// @name vkontakte music download
// @namespace
http://vkontakte.net.ru
// @description Music download for vkontakte.ru
// @include
http://vkontakte.ru/*
// ==/UserScript==
function addDownload(img) {
var str="";
if (img.wrappedJSObject) {
str=img.wrappedJSObject.onclick.toString();
} else {
str=img.onclick.toString(); //opera workaround
}
var re=/operate((d+)[^0-9]+(d+)[^0-9]+(d+),[^0-9a-zA-Z]+([0-9a-zA-Z]+)/;
var arr=re.exec(str);
//operate(209145,1044,362847,'db5a6cba31',194);
//http://cs1044.vkontakte.ru/u362847/audio/db5a6cba31.mp3
var td=img.parentNode;
var addon=document.createElement("a");
var user=arr[3];
if (user<100000) {
user=parseInt(user)+100000;
user=(user.toString()).substr(1);
}
addon.setAttribute("href","
http://cs"+arr[2]+".vkontakte.ru/u"+user+"/audio/"+arr[4]+".mp3");
addon.innerHTML="download";
td.appendChild(addon);
}
function addDownloads() {
var imgs=document.getElementsByTagName("img");
for (var i=0;i<imgs.length;i++) {
if (imgs
.className=="playimg") {
addDownload(imgs);
}
}
}
function addLyric(span) {
var title=span.innerHTML;
if (span.getElementsByTagName("a").length>0) {
title=span.getElementsByTagName("a")[0].innerHTML;
}
var parent=span.parentNode;
var artb=parent.getElementsByTagName("b")[0];
var artist=artb.innerHTML;
if (artb.getElementsByTagName("a").length>0) {
artist=artb.getElementsByTagName("a")[0].innerHTML;
}
var newdiv=document.createElement("div");
var addon=document.createElement("a");
// addon.setAttribute("href","http://lyrc.com.ar/en/tema1en.php?artist="+artist+"&songname="+title);
addon.setAttribute("href","http://www.lyricsplugin.com/wmplayer03/plugin/?artist="+encodeURIComponent(artist)+"&title="+encodeURIComponent(title));
addon.setAttribute("target","_blank");
addon.innerHTML="lyrics";
newdiv.appendChild(addon);
newdiv.className="duration";
parent.parentNode.appendChild(newdiv);
}
function addLyrics() {
var spans= document.getElementsByTagName("span");
re=/titled+/;
for (var i=0;i<spans.length;i++) {
if (re.test(spans.id)) {
addLyric(spans);
}
}
}
addLyrics();
addDownloads();
Сохранить в vkontakte.music.js
Грабер музыки с вконтакта:
Код:
Скопировать в буфер обмена
<html>
<body>
<center>
<form action="graber.php" name="main" method="post">
<input type="text" name="link" size="80">
<input type="submit" value="Грабить!">
<form>
<?php
set_time_limit(0); //убираем ограничение времени выполнения скрипта
if(@$_POST['link']!=""){
$link = $_POST['link']; //Указываем ссылку
$toparse="";
preg_match("/^(http:\/\/)?([^\/]+)/i",$link,$host); //Отделяем доменное имя
$req = "GET ".$link." HTTP/1.1\r\n"; //Формирование заголовка запроса
$req .="Host: ".$host[2]."\r\n"; //
$req .="Cookie: audio_vol=80;remixchk=5;remixemail=;remixmid=;remixpass=;#10\r\n"; //Передача кукис
$req .="Connection: Close\r\n\r\n"; //
$socket = fsockopen($host[2],80); //Открываем сокет на 80й порт серва
fwrite($socket,$req); //Отправляем запрос
while(!feof($socket)){ //
$toparse.=fgets($socket,128); //Получаем тело страницы по 128 байт
} //
fclose($socket); //Затрываем сокет
$mask_link =array('return operate(',');'); //Маска
preg_match_all("/(".$mask_link[0].")(.*)(".$mask_link[1].")/i",$toparse,$parsed_links); //Выбираем ссылки
foreach($parsed_links[3] as $link_str){ //Берем каждый елемент масива в переменную $link_str
$pattern=array("(",")","'"); //Что заменяем
$replace=array("","",""); //Чем заменяем
$replaced=str_replace($pattern,$replace,$link_str); //Убираем скобки
$link_mas=explode(",",$replaced); //Преобразуем строку где разделитель запятая в масив
echo "<a href=\"http://cs".$link_mas[1].".vkontakte.ru/u".$link_mas[2]."/audio/".$link_mas[3].".mp3\">"; //Начало ссылки
$mask_name=array($link_mas[0],'<\/span>'); //Маска поиска Имени
preg_match_all("/(".$mask_name[0].")(.*)(".$mask_name[1].")/i",$toparse,$parsed_names); // Выбираем имена
$pattern=array("\">","</b>","<span id=\"title$link_mas[0]"); //Что заменяем
$replace=array("","",""); //Чем заменяем
$replaced=str_replace($pattern,$replace,$parsed_names[2][0]); //Убираем мусор
echo $replaced."</a>
"; //Конец ссылки
}
}
?>
</center>
</body>
</html>
Еще один скрипт:
Код:
Скопировать в буфер обмена
javascript:function operate(konfuze,loves,you,all_,xP){you=you.toStrin g(10);while(you.length<5){you='0'+you;}document.getElementById('audio'+ko nfuze).innerHTML='<div><a href="http://cs'+loves+'.vkontakte.'+'ru/u'+you+'/audio/'+all_+'.mp3">Cкачать '+document.getElementById('performer'+konfuze).inn erHTML+' - '+document.getElementById('title'+konfuze).innerHT ML+'</a></div>
';}
[Вступить во все группы данного пользователя]
1)Сам скрипт:
Код:
Скопировать в буфер обмена
<form id="param">
<table width="500" height="101" border="0">
<tr>
<td width="112">with</td>
<td width="378"><input name="minZn" type="text" value="1"></td>
</tr>
<tr>
<td>to</td>
<td><input name="maxZn" type="text" value="999999"></td>
</tr>
<tr>
<td>adress</td>
<td><input name="adress" type="text" value="http://vkontakte.ru/groups.php?act=enter&gid=" size="50"></td>
</tr>
<tr>
<td> </td>
<td><input name="button" type="button" onClick="GoHack()" value="Vkontakte must die!!(Go hack)">
<input name="button2" type="button" onClick="StopHack()" value="STOP"></td>
</tr>
</table>
</form>
<script language="javascript">
function StopHack()
{
hackwindow.close();
}
function HackWindowNewlocation(start, end, current)
{
var time=4000;
var domen=document.getElementById("param").adress.value;
var url="";
start2=start;
current2=current;
end2=end;
if(current2==start2){hackwindow=window.open("http://google.ru","hack");}
if ((current2-1)==end2) {return;}
current2++;
url=domen+current.toString();
window.hackwindow.location=url.toString();
setTimeout("HackWindowNewlocation(start2, end2, current2)",time);
}
function GoHack()
{
var start=document.getElementById("param").minZn.value;
var end=document.getElementById("param").maxZn.value;
var current=start;
HackWindowNewlocation(start,end,current);
}
</script>