Вы не зашли.
#1.
alina
Off
(0)
Участник
2011.08.08 11:11
Здраствуйте,может поможет ктото разобратся?пишу свой первый граббер с сайта cyka.name граббер практически готов ,но никак неудается вырезать некоторые элементы со страницы вроде все перепробовала чтото никак........а именно это ссылка "НА Главную" и "ВНИМАНИЕ (!)
» Перед просмотром все читаем соглашение сайта."
Подскажите как вырезать стандартные методы вроде некатят
что такое "стандартные методы"?
не стоит учиться по статьям типа "как написать граббер за 5 минут".
P.S. там по-моему даже банальный str_replace подходит.
#3.
alina
Off
(0)
Участник
2011.08.08 11:11
нет str_replace невырезает или у меня руки не из того места ...
#4.
Nu3oN
Off
(11)
Moderator
2011.08.08 13:01
Посмотри в какой кодировке скрипт парсера? если ansi то смени на utf8...
Я буду лучше голоден, но между креслом и рулем и на дороге.
alina, выкладывай скрипт, будем все вместе смотреть
#6.
alina
Off
(0)
Участник
2011.08.08 13:01
Код:
span style="color: #0000BB"><?phpsession_name('SessionID'); session_start();$host= "cyka.name"; $path="/xxx/?".$_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=preg_replace('|<!DOCTYPE(.*?)<body>|is','',$file);$file=str_replace('/xxx/index.php?mode=get','http://cyka.name/xxx/index.php?mode=get', $file);//////////////////////////////////// Реклама ////////////////////////////////////////////////////////////$file=str_replace('<b>© cyka.name - 2o1o</b>','', $file);$file=preg_replace('|<a href="http:\/\/cyka\.name">|is','<a href="./index.php">',$file);/////////////////////////////////// Счетчики ////////////////////////////////////////////////////////////$file=str_replace('<a href="http://gigatop.net/in.php?17485"><img src="http://gigatop.net/c.php?17485" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://o5top.ru/in.php?4389"><img src="http://o5top.ru/img.php?4389-small" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://topwap.us/click.php?1351"><img src="http://topwap.us/image.php?1351,small" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://wap-list.mobi/453.in"><img src="http://wap-list.mobi/453.top" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://imtop.ru/11712/in/"><img src="http://imtop.ru/11712/small.png" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://waplog.net/c.shtml?355753"><img src="http://c.waplog.net/355753.cnt" alt="sex"/></a>','', $file);echo $file?> |
вот ..............
#7.
Nu3oN
Off
(11)
Moderator
2011.08.08 14:02
добавив после $file=preg_replace('|<!DOCTYPE(.*?)<body>|is','',$file); эту строку:
Код:
span style="color: #0000BB"><?php $file = str_replace('<div class="r"><b>ВНИМАНИЕ (!)</b></div>', null, $file); ?> |
Все спокойно обрезало!
Я буду лучше голоден, но между креслом и рулем и на дороге.
#8.
alina
Off
(0)
Участник
2011.08.08 14:02
а остальное??
Добавлено спустя 3 минуты 20 секунд: незнаю у меня почему то без изменений
Код:
span style="color: #0000BB"><?php$file = preg_replace('/<div class="r">.*\.<br\/><\/div>/sU', '', $file); |
и точно это была кодировка.............я то мучалась полдня почти поверила в сверхестественное..............всем спасибо )))))
#11.
Nu3oN
Off
(11)
Moderator
2011.08.08 14:02
Вообще делай как-то так
Код:
span style="color: #0000BB"><?php$file = file_get_contents('http://cyka.name/xxx/?'.$_SERVER['QUERY_STRING']);$file = str_replace('/xxx/index.php', null, $file);$strType = 'one';preg_match_all('#<div class="f">&\#187; <a href="(.*?)">(.*?)</a>(.*?)</div>#is', $file, $arrLink, PREG_SET_ORDER); if (count($arrLink) < 1) { preg_match_all('#<div class="f"><img.*?src="(.*?)".*?alt="(.*?)".*?><u>Описание:</u>(.*?)<br/>.*?<a href="(.*?)">.*?</a>(.*?)</div>#is', $file, $arrLink, PREG_SET_ORDER); $strType = 'two';}foreach ($arrLink as $key) { if ($strType == 'one') { echo '<a href="'.$key[1].'">'.$key[2].'</a> '.$key[3]; } else if ($strType == 'two') { echo ' <img src="http://cyka.name/xxx/'.$key[1].'" alt="'.$key[2].'" /> <br /> Описание: '.$key[3].'<br /> <a href="'.$key[4].'">Просмотр файла</a> <br /><br /> '; }}?> |
Граббер не весь, там еще на просмотр файла нужно что-то соображать...
З.ы и еще лучше бы делать кеш... напрягается машина грабя этот сайт...
Я буду лучше голоден, но между креслом и рулем и на дороге.
канал забивается и тратится время на загрузку данных, так-то по процессорным ресурсам там нечему сервер нагружать.
Отредактировано Gemorroj (2011.08.08 16:04)
#13.
Nu3oN
Off
(11)
Moderator
2011.08.08 15:03
"там нему сервер" не совсем понял
Я буду лучше голоден, но между креслом и рулем и на дороге.
#15.
Nu3oN
Off
(11)
Moderator
2011.08.08 17:05
ну все же... притормаживает, и это не радует
Я буду лучше голоден, но между креслом и рулем и на дороге.
так да, ты все верно сказал. просто я уточнил что проблема в нагрузке на канал.
неработает предостмотр в том варианте выложеном выше.........
вот я тут накалякала вроде есть только негрузится перьвью на предосмотре ........как тут?
Код:
span style="color: #0000BB"><?phpsession_name('SessionID'); session_start();$host= "cyka.name"; $path="/xxx/?".$_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=preg_replace('|<!DOCTYPE(.*?)<body>|is','',$file);$file = preg_replace('/<div class="r">.*\.<br\/><\/div>/sU', '', $file);$file=str_replace('/xxx/index.php?mode=get','http://cyka.name/xxx/index.php?mode=get', $file);$file=str_replace('Новости','', $file);$file=str_replace('cyka.name - Free xXx','', $file);$file=str_replace('<img src="pic_index.php','<img src="http://cyka.name/xxx/pic_index.php', $file);//////////////////////////////////// Реклама ////////////////////////////////////////////////////////////$file=str_replace('<b>© cyka.name - 2o1o</b>','', $file);$file=str_replace('<b>© cyka.name</b>','', $file);$file=preg_replace('|<a href="http:\/\/cyka\.name">|is','<a href="./index.php">',$file);$file=preg_replace('|<a href="http://cyka.name/xxx/cyka.name.url">|is','<a href="./wen.ru">',$file);/////////////////////////////////// Счетчики ////////////////////////////////////////////////////////////$file=str_replace('<a href="http://gigatop.net/in.php?17485"><img src="http://gigatop.net/c.php?17485" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://o5top.ru/in.php?4389"><img src="http://o5top.ru/img.php?4389-small" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://topwap.us/click.php?1351"><img src="http://topwap.us/image.php?1351,small" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://wap-list.mobi/453.in"><img src="http://wap-list.mobi/453.top" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://imtop.ru/11712/in/"><img src="http://imtop.ru/11712/small.png" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://waplog.net/c.shtml?355753"><img src="http://c.waplog.net/355753.cnt" alt="sex"/></a>','', $file);echo $file?> |
Код:
span style="color: #0000BB"><?php//session_name('SessionID');//session_start();$host = 'cyka.name';$path = '/xxx/?' . $_SERVER ['QUERY_STRING'];$file = '';$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); $headers = ($post ? "POST $path HTTP/1.0\r\n" : "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 = preg_replace('|<!DOCTYPE(.*?)<body>|is','',$file);$file = preg_replace('/<div class="r">.*\.<br\/><\/div>/sU', '', $file);$file=str_replace('/xxx/index.php?mode=get', 'http://cyka.name/xxx/index.php?mode=get', $file);$file=str_replace('Новости', '', $file);$file=str_replace('cyka.name - Free xXx', '', $file);$file=str_replace('<img src="pic_index.php', '<img src="http://cyka.name/xxx/pic_index.php', $file);$file = str_replace('<img src="files/', '<img src="http://cyka.name/xxx/files/', $file);$file = str_replace('<img src="ffmpeg_file.php', '<img src="http://cyka.name/xxx/ffmpeg_file.php', $file);$file = str_replace('<img src="ffmpeg_index.php', '<img src="http://cyka.name/xxx/ffmpeg_index.php', $file);//////////////////////////////////// Реклама ////////////////////////////////////////////////////////////$file=str_replace('<b>© cyka.name - 2o1o</b>', '', $file);$file=str_replace('<b>© cyka.name</b>', '', $file);$file=preg_replace('|<a href="http://cyka\.name">|is', '<a href="./index.php">', $file);$file=preg_replace('|<a href="http://cyka\.name/xxx/cyka\.name\.url">|is', '<a href="./wen.ru">', $file);/////////////////////////////////// Счетчики ////////////////////////////////////////////////////////////$file=str_replace('<a href="http://gigatop.net/in.php?17485"><img src="http://gigatop.net/c.php?17485" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://o5top.ru/in.php?4389"><img src="http://o5top.ru/img.php?4389-small" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://topwap.us/click.php?1351"><img src="http://topwap.us/image.php?1351,small" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://wap-list.mobi/453.in"><img src="http://wap-list.mobi/453.top" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://imtop.ru/11712/in/"><img src="http://imtop.ru/11712/small.png" alt="sex"/></a>','', $file);$file=str_replace('<a href="http://waplog.net/c.shtml?355753"><img src="http://c.waplog.net/355753.cnt" alt="sex"/></a>','', $file);echo $file;?> |
Мда уж..............мне еще учится и учится..спасибо
#21.
Nu3oN
Off
(11)
Moderator
2011.08.09 23:11
Классный сервис гг)))
Я буду лучше голоден, но между креслом и рулем и на дороге.
#22.
TLENS
Off
(14)
Moderator
2011.08.10 03:03
Nu3oNНу да правда на практике все равно ошибки.
Отредактировано TLENS (2011.08.10 03:03)
Здравствуйте, помогите пожалуйста ограбить этот сервис www.websmsonline.com. Я все сделал и каптчу тоже, но при запросе страница тупо обновляеться и никакого ответа.
Заранее благодарю.
Karayazi, свой код давай. писать за тебя граббер никому не охота.
Вот код, пока ничего не вырезал:
Вложения
sms.zip
598b
[
загрузок: 525]
ну так собно нет никакой обработки POST запросов. тебе нужно через CURL делать будет, а не file_get_contents
Gemorroj но я с курлом не дружу. Так тоже не получается:
Код:
span style="color: #0000BB"><?phperror_reporting(0);$path='http://www.websmsonline.com/?'.$_SERVER['QUERY_STRING'];$browser = array(1=>'HTCP3300-Mozilla/4.0(compatible; MSIE 4.01; Windows CE; PPC; 240x320)',2=>'Panasonic-GAD87/A22UP.Link/1.1', 3=>'Panasonic-VS6/1.0/RP1 Profile/MIDP-2.0 Configuration/CLDC-1.1',4=>'LGE-VX8300/1.0 UP.Browser/6.2.3.2 (GUI)MMP/2.0',5=>'LG-C1100 MIC/WAP2.0MIDP-2.0/CLDC-1.0');shuffle($browser);$browser = $browser[0];$header[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';$header[] = 'Connection: Close';$header[] = 'Accept-Charset:iso-8859-1, utf-8, utf-16,*;q=0.1';$header[] = 'Accept-Language:ru-RU,ru;q=0.9,en;q=0.8';$header[] = 'Host: www.websmsonline.com';$header[] = 'User-Agent: '.$browser;$header[] = 'Referer: http://www.websmsonline.com';$curl = curl_init();curl_setopt($curl, CURLOPT_URL,$path);curl_setopt($curl, CURLOPT_HTTPHEADER, $header);curl_setopt($curl, CURLOPT_AUTOREFERER, false);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);curl_setopt($curl, CURLOPT_HEADER, false);$file = curl_exec($curl);curl_close($curl);if($file){$file=str_replace('<img src="/rand0mcaptcha.phtml"','<img src= "img.php"',$file);}else{$file='сервис временнонедоступен<br/>';}echo $file;?> |
Отредактировано Karayazi (2011.09.01 16:04)
Учи. Нечего сложного нет http://php.net/manual/ru/book.curl.php
#30.
Nu3oN
Off
(11)
Moderator
2011.09.01 22:10
Gemorroj написал:
ну так собно нет никакой обработки POST запросов. тебе нужно через CURL делать будет, а не file_get_contents
Почему же? можно реализовать и POST через file_get_contents()
Код:
span style="color: #0000BB"><?php$arr = array( 'http' => array( 'method'=>"POST", 'header'=>"Content-Type: text/html; charset=utf-8" ) ); $context = stream_context_create($arr); $result = file_get_contents('http://example.com', false, $context); ?> |
Вопрос только в рациональности этого решения)))
Я буду лучше голоден, но между креслом и рулем и на дороге.
И как же мне реализовать это, помогите пожалуйста.
Неужели так трудно написать пару кодов для знающих?
тебе все дали. если нужна конкретика, то задавай конкретные вопросы.
мне лично совсем не охота перепечатывать тут мануал по работе с курлом.
Gemorroj ну хот убей меня, но у меня никак не получается, это для вас, знающих легко, а я не могу реализовать все это. Тем более я с тела, у меня комп нету.
Отредактировано Karayazi (2011.09.02 21:09)
давай свои наработки, будем вместе исправлять
пиши что есть, без твоих наработок тебе мы не поможем
Вот архив, просто надо сделать так, чтобы скрипт работал:
#39.
TLENS
Off
(14)
Moderator
2011.09.04 00:12
Эх раньше работал только с грабами, сейчас смотреть на них не Могу!
(Парсеры рулят)
TLENS можеть все таки поможеш?
потому что нахер никому так не интересно, типа - нате исправляйте.
посмотрел скрипт. ну блин, тупая копипаста же.
curl_setopt($ch, - что такое $ch ?
кто тебя так учил заголовки формировать? там есть определенные правила с переносом строк.
если ты хочешь чтобы за тебя написали скрипт (а иного варианта я не вижу, судя по коду) то вряд ли ты обратился по адресу.
Да, блин, меня это тоже добивает, пиши им скрипты просто так(есть такие, что форумы просят), или исправляй тупейшии ошибки. Я никого не просил всякую тупизну исправлять, когда учился(ещё как бы учусь). Программирование тоже не лёгкое дело, а то понаедут всякие, сначала прочти пять раз найденную инфу, час подумай. а потом уже спрашивай, скрипты тупые не тыч. Хочешь, чтобы всё за тебя сделали, так плати мани-мани.
Готов заплатить, скажите цену, кто возмется?
Вам бы только платить.
Лови бесплатно. Минут 40 потратил: сам в Curl не шари сильно. Зато научился малость. Хотел своим сайтом заняться, да ты тут. Хоть польза есть, да скрипт пригодится.
DarkRiDDeR спасибо большое, скажи пожалуйста, а как добавить свой техт к отправленному сообщению, ну типа имя домена.
if(isset($_POST['какое-там'])) $_POST['какое-там'] .= 'http://site.ru';
Это в начале напишешь.
DarkRiDDeR все, работает, большое спасибо.
Отредактировано Karayazi (2011.09.07 16:04)