Вы не зашли.
Главная » PHP » Помощь по грабберам
#1. Spell Off (0)
Участник
2011.03.24 17:05
Если такая тема есть,тогда извиняюсь и модеров прошу удалить тему.
Добавлено спустя   3 минуты  54 секунды:
Кто может помочь с граббером. Я граблю сайт muzmo.ru,и столкнулся с такой проблемой,там даные передаються в сессию,и я незнаю какой код прописать,чтобы заработала нарезка и конвертация.
Добавлено спустя   6 минут  50 секунд:
Вот сам исходный код отдельного мр3 файла, нарезки и конвертации
Код:
<div class="sub">Конвертация/резка композиции</div><div class="main"><form action="generate_new.php?84687462" method="post"><fieldset><input type="hidden" name="sid" value="pjq9jkoft3malc8uf9va1cu202" />
Проверочный код:<br />
<input name="code" type="text" class="num" value="" size="7"/><br />
<img src="pic.php?7957&amp;sid=pjq9jkoft3malc8uf9va1cu202&amp;sid=pjq9jkoft3malc8uf9va1cu202" alt="code"/><hr />Формат файла:<br /><select name="format"><option value="0">MP3</option><option value="1">AMR</option><option value="2">WAV</option><option value="3">AAC</option><option value="5">WMA</option></select><hr />Битрейт файла (для mp3, aac, wma):<br /><select name="bitrate"><option value="4">128 Кбит/сек ~ 3,71 Мб</option><option value="5">96 Кбит/сек ~ 2,78 Мб</option><option value="6">64 Кбит/сек ~ 1,85 Мб</option><option value="7">48 Кбит/сек ~ 1,39 Мб</option><option value="8">32 Кбит/сек ~ 949,22 Кб</option></select><hr />Интервал по времени:<br />от <input class="num" type="text" name="from_time" value="0" size="5" /> сек.<br />до <input class="nume" type="text" name="to_time" value="243" size="5" /> сек.<hr /><br /><input class="ibutton" type="submit" value="Сгенерировать"/></fieldset></form></div>
как быть?
Отредактировано Spell (2011.03.24 17:05)
#2. Gemorroj Off (107)
Administrator
2011.03.24 17:05
прикрепи к посту свой граббер
#3. Spell Off (0)
Участник
2011.03.24 17:05
Вот
Код:
lt;?define('_IN_JOHNCMS', 1);$headmod ="";$textl = 'Вся музыка мира!';require_once ("../incfiles/core.php");require_once ("../incfiles/head.php");header("Content-type:text/html; charset=utf-8");ini_set('display_errors',0); ini_set ('register_globals', 0);session_name('SID'); session_start();############################################################################################$host= "muzmo.ru"; $path="/info.php?".$_SERVER ['QUERY_STRING'];$fp=fsockopen($host,80,$errno, $errstr,10);if(!$fp) { echo "$errstr ($errno)<br/>\n"; }else{$data = "";$post=0; foreach($_POST as $key=>$value){$post=1; $data.="&$key=$value";} if($data)$data=substr ($data,1);if($post) $headers = "POST $path HTTP/1.0\r\n";else$headers = "GET $path HTTP/1.0\r\n"; $headers.= "Host: $host\r\n";$headers.= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif,image/x-bitmap, */*;q=0.1\r\n";$headers.= "Accept-Charset: utf-8;q=0.6 windows-1251;q=0.1*;q=0.1\r\n";$headers.= "Accept-Encoding: utf-8\r\n";$headers.= "Accept-Language: ru, en;q=0.9\r\n";$headers.= "User-Agent: ".$_SERVER ['HTTP_USER_AGENT']."\r\n";if($post){ $headers.= "Content-type: application/x-www-form-urlencoded\r\n";$headers.= "Content-Length: ".strlen ($data)."\r\n";$headers.= "\r\n"; $headers.= $data;}else $headers.="\r\n";@fwrite($fp, $headers); while($file != "\r\n") $file = @fgets($fp, 128);$file = ''; while(!feof($fp)) $file.= @fgets($fp, 4096); @fclose($fp);}##############################################$file=str_replace('<?xml version="1.0" encoding="utf-8"?>', '',$file);$file=preg_replace('|<!DOCTYPE(.*?)<body>|is', '',$file);$file=preg_replace('|<div class="head">(.*?)</div>|is', '',$file);$file=str_replace('<img src="img/','<img src="http://muzmo.ru/img/',$file);$file=str_replace('На главную</a>', '',$file);$file=preg_replace('|<div style="text-align: center">(.*?)</a>|is', '',$file);$file=preg_replace('|style="font-weight:(.*?)</html>|is', '',$file);$file=preg_replace('|http://wap.sasisa.ru/(.*?)</a>|is', '',$file);$file=str_replace('<img src="pic.php?','<img src="http://muzmo.ru/pic.php?',$file);$file=str_replace('Рекомендуем', '',$file);##############################################echo $file;require_once ("../incfiles/end.php");?>
#4. Spell Off (0)
Участник
2011.03.24 22:10
Поможет кто?
#5. tipsun Off (19)
Moderator
2011.03.24 23:11
Больше ничего умного не приходит
Код:
<form action="http://muzmo.ru/generate_new.php?3868517" method="post">
Отредактировано tipsun (2011.03.24 23:11)
#6. Spell Off (0)
Участник
2011.03.25 00:12
tipsun написал:
Больше ничего умного не приходит
Код:
<form action="http://muzmo.ru/generate_new.php?3868517" method="post">
Не подходит,запрошенная вами страница отсутствует,а если создать generate_new.php и прописать адресс внутри файла,тогда шапка и ноги. Как заставить отдавать файлы?
#7. tipsun Off (19)
Moderator
2011.03.25 00:12
Форма после этого выкидывает на адрес: http://muzmo.ru/info.php?67928011&b=320&f=0&d=260&fmt=0

тебе надо как-то форму у тебя разместить, после нажатия всё необходимые данные с формы передать на generate_new.php?[ID] и переадресовать на http://свойсайт/info.php?[ID]&b=320&f=0&d=260&fmt=0
Отредактировано tipsun (2011.03.25 01:01)
#8. Spell Off (0)
Участник
2011.03.25 06:06
tipsun написал:
Форма после этого выкидывает на адрес: http://muzmo.ru/info.php?67928011&b=320&f=0&d=260&fmt=0
тебе надо как-то форму у тебя разместить, после нажатия всё необходимые данные с формы передать на generate_new.php?[ID] и переадресовать на http://свойсайт/info.php?[ID]&b=320&f=0&d=260&fmt=0
И как это сделать? В голову не фига не лезет,знал бы как туды этот код втулить.
#9. Spell Off (0)
Участник
2011.03.25 07:07
Вот что мне еще посоветовали,мож кто разбереться:"Spell, почитай про то как послать пост запрос удалённо,тут поищи" http://snippets.pp.ru
#10. Gemorroj Off (107)
Administrator
2011.03.25 08:08
Spell, у тебя там и так POST должен посылаться. Просто код настолько ужасный, что его копать ну совсем не хочется.
#11. DarkDaNTe Off (11)
Участник
2011.03.25 13:01
Gemorroj, +1)
#12. Spell Off (0)
Участник
2011.03.25 13:01
Gemorroj написал:
Spell, у тебя там и так POST должен посылаться. Просто код настолько ужасный, что его копать ну совсем не хочется.
так что забросить? А курлом вытянуть можна будет?
#13. Gemorroj Off (107)
Administrator
2011.03.25 13:01
можно
#14. Spell Off (0)
Участник
2011.03.25 15:03
Gemorroj написал:
можно
напимер,что из этого можна извлеч?
Код:
function curl_get($url){
$curl = curl_init(); // инициализируем cURL
curl_setopt($curl, CURLOPT_URL, $url); // Начинаем работу
curl_setopt($curl,CURLOPT_USERAGENT,'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10'); //Говорим что мы с OPERA
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); // Указываем что нам нужна именно переменная
curl_setopt($curl, CURLOPT_TIMEOUT, 3); // устанавливаем таймаут в секундах
$cnt = curl_exec($curl); // выполняем запрос и записываем в переменную
curl_close($curl); // заканчиваем работу curl
return $cnt; //Даем резулт)))
}
 
##########################################
$file=curl_get('http://muzmo.ru/info.php?'.$_SERVER['QUERY_STRING']);
$file=str_replace('<?xml version="1.0" encoding="utf-8"?>', '', $file);
$file=preg_replace('|<!DOCTYPE(.*?)<body>|is', '',$file);
echo $file;
Как дальше?
#15. tipsun Off (19)
Moderator
2011.03.25 15:03
У меня чет не получилось...
Только при отправки данных на родную форму, получилось
Или если в generate_new.php поставить ... RETURNTRANSFER, 0 ...
Тут может Геморрой вмешается, код вроде не уродлив.

Код:
span style="color: #0000BB"><?php/////////////////////////////////////////////////// SITE.RU/index.php/////////////////////////////////////////////////$site = 'muzmo.ru/'.$_GET['open'].'?'.str_replace('open='.$_GET['open'].'&', null, $_SERVER['QUERY_STRING']);echo $site;$browser = $_SERVER['HTTP_USER_AGENT'];$from = 'http://muzmo.ru';///////////////////////////////////////////////$net = curl_init('http://'.$site);///////////////////////////////////////////////curl_setopt($net, CURLOPT_HEADER, 1);curl_setopt($net, CURLOPT_USERAGENT, $browser);curl_setopt($net, CURLOPT_REFERER, $from);curl_setopt($net, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($net, CURLOPT_RETURNTRANSFER, 1);///////////////////////////////////////////////$html = curl_exec($net);curl_close($net);///////////////////////////////////////////////$html = preg_replace('/([a-z0-9\-\_]{0,}.php)\?/i', '?open=$1&amp;', $html);$debug = array('?open=generate_new.php&amp;'=>'generate_new.php?id=','?open=pic.php&amp;'=>'http://muzmo.ru/pic.php?');echo strtr($html, $debug);///////////////////////////////////////////////?>
Код:
span style="color: #0000BB"><?php/////////////////////////////////////////////////// SITE.RU/generate_new.php/////////////////////////////////////////////////$id = $_GET['id'];$sid = $_POST['sid'];$code = $_POST['code'];$format = $_POST['format'];$bitrate = $_POST['bitrate'];$from_time = $_POST['from_time'];$to_time = $_POST['to_time'];$post = "sid=$sid&code=$code&format=$format&bitrate=$bitrate&from_time=$from_time&to_time=$to_time";$get = "$id&b=$bitrate&f=$from_time&d=$to_time&fmt=$format";$site = 'muzmo.ru/generate_new.php?'.$_SERVER['QUERY_STRING'];$browser = $_SERVER['HTTP_USER_AGENT'];$from = 'http://muzmo.ru';///////////////////////////////////////////////$net = curl_init('http://'.$site);///////////////////////////////////////////////curl_setopt($net, CURLOPT_HEADER, 1);curl_setopt($net, CURLOPT_POST, 1);curl_setopt($net, CURLOPT_POSTFIELDS, $post);curl_setopt($net, CURLOPT_USERAGENT, $browser);curl_setopt($net, CURLOPT_REFERER, $from);curl_setopt($net, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($net, CURLOPT_RETURNTRANSFER, 1);/////////////////////////////////////////////////$html = curl_exec($net);curl_close($net);/////////////////////////////////////////////////echo $html;header('Location: /?open=info.php&'.$get);exit();///////////////////////////////////////////////?>
Отредактировано tipsun (2011.03.25 16:04)
#16. Spell Off (0)
Участник
2011.03.25 16:04
Мне бы generate_new.php отредачить,а то бросает на главную,когда пытаюсь резать,либо конвертировать. Можешь сам посмотреть. Вот ссылка
#17. tipsun Off (19)
Moderator
2011.03.25 17:05
Не ставь код, он не обрабатывает входящие данные.
Это я для примера написал.

Код:
header('Location: /?open=info.php&'.$get);
//на это переправь
header('Location: /mp3/info.php?'.$get);
Отредактировано tipsun (2011.03.25 17:05)
#18. Spell Off (0)
Участник
2011.03.25 17:05
Ок, я ток generate_new.php поставил,а как еще можна достать?
#19. Spell Off (0)
Участник
2011.03.25 23:11
tipsun вот что мне еще сказали к generate_new.php " У тебя редирект не правильно стоит.Тебя перенаправляет на ?info.php,а нужно на info.php а для сохранения сессии, что бы работала проверка коданужно записывать куки curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");"
#20. tipsun Off (19)
Moderator
2011.03.25 23:11
Насчет куки уже понял. Там заметил, что ид сессии меняется всё время в принятых заголовках и в форме дополнительно вылазит:
Код:
<input type="hidden" name="sid" value="ИД СЕССИИ" />
Этого нет, когда через браузер на самом сайте бродишь.

Не знал, что в файл надо записывать. Завтра попробую доделать.
Редирект переделал. Путь берется из заголовков:
Код:
Location: адрес?со=всеми&штучками
Отредактировано tipsun (2011.03.25 23:11)
#21. Mr.proper Off (-1)
Участник
2011.03.25 23:11
Что есть грабер?
Во имя овса, и сена, и свинного уха! Алюминь!
#22. tipsun Off (19)
Moderator
2011.03.25 23:11
Ну как бы с чужого сайта информацию, файлы выдаешь за своё, не перекачивая при этом ничего себе. Как то так.
#23. Mr.proper Off (-1)
Участник
2011.03.25 23:11
ясно. а зачем тогда так многа писать (про коды на предыдущих страниц) если можно в гиперссылку вписать прямую на файл?
Во имя овса, и сена, и свинного уха! Алюминь!
#24. Spell Off (0)
Участник
2011.03.26 00:12
tipsun написал:
Насчет куки уже понял. Там заметил, что ид сессии меняется всё время в принятых заголовках и в форме дополнительно вылазит:
Код:
<input type="hidden" name="sid" value="ИД СЕССИИ" />
Этого нет, когда через браузер на самом сайте бродишь.
Не знал, что в файл надо записывать. Завтра попробую доделать.
Редирект переделал. Путь берется из заголовков:
Код:
Location: адрес?со=всеми&штучками
так ты напиши,этот редирект,а то снова не так что-то сделаю.
Добавлено спустя   5 минут  52 секунды:
Так header('Location: http://site.ru/info.php&'.$get);
#25. tipsun Off (19)
Moderator
2011.03.26 00:12
Нет. Завтра выложу. Уже выкл комп. Домашние спят. Я сделал через
Код:
span style="color: #0000BB"><?phppreg_match_all('/Location: info.php?([a-z0-9\=\&]{0,})/i', $headers, $redirect);//не помню я перед ? Ставил \ или нет...//как-то так. Завтра более точный выложу, этот я с телефона написал, приблизительно.?>
В файле generate_new.php я только заголовки принимать оставал. Всё равно оттуда больше ниче не приходит и опция перенаправления чет не работает.
Отредактировано tipsun (2011.03.26 00:12)
#26. Spell Off (0)
Участник
2011.03.26 06:06
tipsun ты сам generate_new.php переделаный с редиректом выложи,я покажу код Сереге (Krite) он может еще подскажет че то.
#27. tipsun Off (19)
Moderator
2011.03.26 11:11
Все равно captcha не принимается кажется.
Ну все время неправильно.
Но теперь нет того, что я описывал в сообщ. #20 этой темы
Код:
span style="color: #0000BB"><?php///////////////////////////////////////////////// SITE.RU/generate_new.php///////////////////////////////////////////////$id = (int)$_GET['id'];$post = array('code' => (int)$_POST['code'],'format' => (int)$_POST['format'],'bitrate' => (int)$_POST['bitrate'],'from_time' => (int)$_POST['from_time'],'to_time' => (int)$_POST['to_time']);//$get = "$id&b=$bitrate&f=$from_time&d=$to_time&fmt=$format";///////////////////////////////////////////////$site = 'muzmo.ru/generate_new.php?'.$id;$net = curl_init('http://'.$site);///////////////////////////////////////////////curl_setopt($net, CURLOPT_HEADER, 1);curl_setopt($net, CURLOPT_NOBODY, 1);curl_setopt($net, CURLOPT_RETURNTRANSFER, 1);curl_setopt($net, CURLOPT_POST, 1);curl_setopt($net, CURLOPT_POSTFIELDS, $post);curl_setopt($net, CURLOPT_USERAGENT, $browser);curl_setopt($net, CURLOPT_REFERER, $referer);curl_setopt($net, CURLOPT_COOKIEFILE, 'cookie.txt'); //надо создать самому и поставить 777curl_setopt($net, CURLOPT_COOKIEJAR, 'cookie.txt'); //и путь правильно записать///////////////////////////////////////////////$html = curl_exec($net);curl_close($net);///////////////////////////////////////////////preg_match_all('/Location: info.php\?([a-z0-9\=\&]{0,})/i', $html, $location);//print_r($location);//header('Location: /?open=info.php&'.$location[1][0]);header('Location: /mp3/info.php?'.$location[1][0]);exit();///////////////////////////////////////////////?>
---- cookie.txt ----
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

muzmo.ru    FALSE    /    FALSE    0    sid    c4110jfmjp0ecum02fvtl1kkm7
--------------------
Отредактировано tipsun (2011.03.26 12:12)
#28. Spell Off (0)
Участник
2011.03.26 11:11
tipsun вот посмотри код который в личку тебе дал,как работает.
#29. Spell Off (0)
Участник
2011.03.26 12:12
а куда куку.тхт ставить? Я в ту же папку бросил,и права 777 поставил. Вот твой код посмотри  как работает в generate_new.php
#30. tipsun Off (19)
Moderator
2011.03.26 13:01
Вот я у себя разместил: ссылку удалил
Но captha все равно не жрет sad
Отредактировано tipsun (2011.03.26 14:02)
#31. Spell Off (0)
Участник
2011.03.26 14:02
Это твой код,или тот что в личку тебе дал?
#32. tipsun Off (19)
Moderator
2011.03.26 14:02
Мой. Да там все похоже в принципе.
Я поставил, как ты советовал CURLOPT_COOKIEFILE. CURLOPT_COOKIEJAR
Все равно каптчу не жрет
Отредактировано tipsun (2011.03.26 14:02)
#33. Spell Off (0)
Участник
2011.03.26 14:02
А index.php твой стоит?
#34. tipsun Off (19)
Moderator
2011.03.26 14:02
Да
#35. tipsun Off (19)
Moderator
2011.03.26 14:02
Да, крутой код! smile
Отредактировано tipsun (2011.03.26 14:02)
#36. Spell Off (0)
Участник
2011.03.26 14:02
Что за фигня такая. Пробуй к себе поставь будет ли работать? А то у меня белый экран когда режу файл.
Отредактировано Spell (2011.03.26 14:02)
#37. tipsun Off (19)
Moderator
2011.03.26 14:02
Тоже самое у меня.
Кто тебе написал твой index.php пусть напишет и generate_new.php. Он явно знает что делает.
Я не знаю в чем дело. sad
Отредактировано tipsun (2011.03.26 14:02)
#38. Spell Off (0)
Участник
2011.03.26 14:02
tipsun написал:
Тоже самое у меня.
Кто тебе написал твой index.php пусть напишет и generate_new.php. Он явно знает что делает.
Я не знаю в чем дело. sad
Это Krite,я ему написал,о ошибке незнаю когда ответит,но буду держать тебя вкурсе. Спасибо тебе большое за потраченое время.
#39. tipsun Off (19)
Moderator
2011.03.26 14:02
Спс.
Да не за что.
Опыта надо набираться, поэтому самому интересно. smile
вот mod_rewrite сильная вещь.
Отредактировано tipsun (2011.03.26 14:02)
#40. Spell Off (0)
Участник
2011.03.26 14:02
tipsun написал:
Спс.
Да не за что.
Опыта надо набираться, поэтому самому интересно. smile
вот mod_rewrite сильная вещь.
Krite кодер сам вот его сайт.
#41. Spell Off (0)
Участник
2011.03.26 15:03
tipsun, пробуй удали с хоста generate_new.php и пробуй код что я тебе дал с мод_реврайтом. Krite сказал,что именно он и недает работать реврайту.
#42. tipsun Off (19)
Moderator
2011.03.26 21:09
Нет, все равно не работает sad
#43. Spell Off (0)
Участник
2011.03.27 00:12
tipsun написал:
Нет, все равно не работает sad
во зараза,что ему еще надо, и Серега молчит.
Страниц: 13 4 5 Все
Главная
WEB
PunBB Mod v0.6.2
0.030 s