endrju » 2008.08.07 00:46

вoт гpaб,тaк oн чoт нe paбoтaeт,выдaeт 404 xoтя,ecли бpaузepoм зaйти тo вce нaмaнa,чo нe тaк?дa и eщo нaпpимep ecли я гpaблю motor cтpaницы,тo я мoгу нaпpимep c пoмoщю preg ,или str выpeзaть вce иx include и requre,ну тaм диз нaпpимep?

Gemorroj » 2008.08.07 01:47

Код:

1
span style="color: #0000BB"><?php$host = 'azon.mobi';$path= '/icq/?'.$_SERVER['QUERY_STRING'];$fp = fsockopen($host,80,$errno,$errstr,10);if($fp){$headers = 'GET '.$path.' HTTP/1.0'."\r\n";$headers.= 'Host: '.$host."\r\n";$headers.= 'Accept: */*'."\r\n";$headers.= 'Accept-Charset: UTF-8'."\r\n";$headers.= 'Accept-Charset: UTF-8'."\r\n";$headers.= 'Accept-Language:ru'."\r\n";$headers.= 'Referer: http://'.$host."\r\n";$headers.= 'User-Agent:Mozilla/4.0(compatible; MSIE6.0;Windows NT 5.1; ru) Opera 8.01'."\r\n\r\n";fwrite($fp,$headers);while($file != "\r\n"){$file = fgets($fp,128);}$file = null;while(!feof($fp)){$file.= fgets($fp,4096);}fclose($fp);}echo $file;?>
denich » 2008.08.07 15:10

канешн грабы я неразу неставил и неработал с ними, но вот этот код посмотрел и эт чё весь граб?! легкотня однако))

Gemorroj » 2008.08.07 19:19

ну это такой гарббер просто)
p.s. поздравляю с новым статусом ;)

denich » 2008.08.07 20:33

служу WapInet.ru =D

endrj » 2008.08.08 20:28

блин нe paбoтaeт:(

endrj » 2008.08.08 20:31

дa и чo дaeт пoдcвeткa cинтaкcиca?

Gemorroj » 2008.08.08 21:18

подсветка ничего не дает, просто код более читабельный становится, легче разбирать. сразу видно где просто текст, где комментарии, где функции.
запустил граббер... а что он собсна грабить должен? т.к. там явно не хватает функционала до граббера чего-бы то нибыло с того сайта.

endrju » 2008.08.09 02:01

вcмыcлe..?oн дoлжeн гpaбить paздeл icq,нo тaм eщo нaдo кучу peклы выpeзaть:)

Gemorroj » 2008.08.09 02:40

ну хз, эту страничку он скачивает, а дальше вырезай что тебе нужно там) и еще, ты уверен что 404 а не 403? если 403, то бан по IP скорее всего, сейчас одмины многих серверов IP хостингов в банлист занесли. Да-да, только теперь) Сам замучался с проксями уже.

endrju » 2008.08.09 16:19

нe 404,былo:)

denich » 2008.08.16 12:07

ikrefni, x` паспамить решил?! не тут то было..

Gemorroj » 2008.08.16 13:51

ппц, это каким же уепком надо быть. бесит прям.

denich » 2008.08.16 17:02

опъять.. Gemorroj ты запрети неавторизованным пользователям писать...

Gemorroj » 2008.08.16 19:02

Не, из-за этого уебка я не буду запрещать гостям оставлять сообщения. Список забаненых ИПов пополняется...

kot » 2008.08.16 21:26

Привет! Я только сегодня зарегался,а до этого писал только в гостевой.У меня вопрос по грабу с этого сайта wikipedia Можно ли привязать этот скрипт к DCMS_4 ? Я пробовал закрывающие теги заменить на foot(); ,а заголовок

header('Content-type: text/html; charset=utf-8');
header('Cache-control: no-cache');
print '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Wiki</title> и т.д....... на инклуды движка,но видно знаний маловато и нифига не получается.Если надо страницу движка как шаблон,то вот shablon_stranici_DCMS.zip

Gemorroj » 2008.08.16 23:47

попробуй так

kot » 2008.08.18 22:23

Спасибо тебе огромное за помощь по грабу wikipedia.Помогло,вот только на версии xml выдавало ошибку,а переделал движок на html и всё заработало wikipediaДаже и лучше,раньше на сайт не зайти было с компа с Internet Explorer (только с оперы),а теперь с любого браузера можно.

kot » 2008.08.19 12:20

У меня такой вопрос: есть грабер "Приколы в СМС" сайта wap.lviv.ua ,но видимо IP моего хоста находится в бане у этого сайта.Я попробовал установить у себя на хосте kotusm.com/sms и на бесплатном хосте kot.wapf.ru/sms На бесплатном работает,а на моём нет.Можно ли сделать так,чтобы грабер на моём хосте грабил грабер на бесплатном хосте ? Это надо для того,чтобы сделать общее оформление для сайта.А т.к. у меня несколько тем оформления,то просто подогнать оформление грабера на бесплатном хосте под мой сайт и сделать обратные ссылки на мой сайт не получится.

Gemorroj » 2008.08.19 13:19

можно)
print file_get_contents('htttp://граббер на бесплатном хосте');

kot » 2008.08.19 16:36

А куда этот код вставлять ? Это сам граб,без заголовка и низа.

Код:

1
span style="color: #0000BB"><?php$host = "wap.lviv.ua";$path = "/sms/index.php?$QUERY_STRING";$fp = fsockopen($host,80,$errno,$errstr,30);if(!$fp) echo"$errstr ($errno)<br />\n";else{$headers = "GET $path HTTP/1.0\r\n";$headers .= "Host: $host\r\n";$headers .= "Accept: *\r\n";$headers .= "Accept-Charset: UTF-8\r\n";$headers .= "Accept-Charset: *\r\n";$headers .= "Accept-Encoding: deflate\r\n";$headers .= "Accept-Language: ru\r\n";$headers .= "Referer: wap.lviv.ua\r\n";$headers .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.01\r\n\r\n";fwrite($fp,$headers);while($file != "\r\n") $file = fgets($fp,128);$file = "";while(!feof($fp)) $file .= fgets($fp,4096);fclose($fp);}include 'head.php';$file = str_replace('<?xml version="1.0" encoding="UTF-8"?>', '',$file);$file = preg_replace('/<!DOCTYPE(.*?)- - - - - - -<br\/><small>/si','',$file);$file = preg_replace('/<\/small>- - - - - - -<br\/>(.*?)<\/wml>/si','',$file);$file = preg_replace('/→<br\/>- - - - - - -(.*?)<\/wml>/si','<br/><br/><a href="index.php">SMSки</a>',$file);$file = str_replace('← ', '',$file);$file = str_replace('</small>', '',$file);$file = preg_replace('/- - - - - - -<br\/>(.*?)<br \/>- - - - - - -<br\/>/si','- - - - - - -<br/>',$file);$file = str_replace('» <a href="index.php?mod=show&amp;cID=41&amp;way=n&amp;aID=1">SMS афоризмы</a> (0)<br />', '',$file);$file = str_replace('» <a href="index.php?mod=show&amp;cID=42&amp;way=n&amp;aID=1">Фигня всякая</a> (0)<br />', '',$file);echo $file;include 'foot.php';?>
kot » 2008.08.19 17:11

Да,и объясни пожалуйста ,что значит строка 15 $headers .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.01\r\n\r\n";

Gemorroj » 2008.08.19 18:17

Это заголовок с юзерагентом. "\r\n" - переност строки. (Вернее "\n" - перенос строки, "\r" - возврат каретки. Но в Windows переносы записываются именно так. В *NIX только "\n")
Насчет куда код вставлять... ммм... в файл...) Точнее вопрос задай.

kot » 2008.08.19 19:09

Вообщем мне надо куда-то этот код вставить (который ты написал в 20 посте),чтобы грабить грабер.В какой файл ?
Я пробовал заменить код 35 строки из 21 поста на твой код,но ничего не работает. Ведь я правильно думаю ,что эта строка выводит всё содержимое

Код:

1
echo $file;

Я начинающий в php ,так что не смейся если я пишу какую-то глупость. :D

Gemorroj » 2008.08.19 19:22

тогда сразу привыкай писать ТОЛЬКО с выключенными глобальными переменными. Замени 3 строку на

Код:

1
$path = '/sms/index.php?'.$_SERVER['QUERY_STRING'];

потому как все равно придется переделывать в будущем.

создай новую папку, скажем grab , в ней файл index.php
в нем пропиши шапку и ноги страницы, а пежду ними соответственно содержимое страницы. Т.е. это будет примерно так:

Код:

1
span style="color: #0000BB"><?php// заголовкиheader('Content-type: text/html; charset=utf-8;');//грабберprint file_get_contents('htttp://граббер на бесплатном хосте');?>
kot » 2008.08.19 20:12

Заменил 3 строку,как ты и написал

Код:

1
$path = '/sms/index.php?'.$_SERVER['QUERY_STRING'];

на беспл.хосте,где граб работает и создал у себя файл http://kotusm.com/sms (вот код этой страницы)

Код:

1
lt;?include_once "../SYSTEM/include/functions.php";include_once "../SYSTEM/include/mysql.php";include_once "../SYSTEM/include/param.php";include_once "../SYSTEM/include/ban.php";include_once "../SYSTEM/include/sess.php";include_once "../SYSTEM/include/ban_2.php";include_once "../SYSTEM/include/theme.php";$mesto='Приколы в СМС';$title='Приколы в СМС';head();echo "<div class=\"h\">Приколы в СМС</div><hr />\n";if ($mail_in_new>0)echo "<div class=\"privat\"><img src=\"../SYSTEM/themes/$them/img/mail0.gif\" alt=\"\" /> <a href=\"../mail.php?act=in\">Приват</a> [$mail_in_new]</div><hr />\n";print file_get_contents('http://kot.wapf.ru/sms/index.php');echo "<hr />\n";echo "<a href=\"../index.php\">&lt;&lt; На главную</a>\n";foot();?>

и ничего...

Gemorroj » 2008.08.19 20:58

пути инклудов верные?

kot » 2008.08.19 22:26

Конечно верные.Это чисто движковые инклуды и они одинаково используются во всём движке.

kot » 2008.08.20 13:34

ikrefni ,тебя не заипало спамить здесь ? Уймись придурок,всё равно никто не переходит по твоим гавённым ссылкам.
А это тебе по-буржуйски,если ты заграничный фрукт: you are not tired of spam here? Lot, it is still on your links do not proceed. :mad:

Gemorroj » 2008.08.20 15:06

Я не знаю, в данном коде синтаксических ошибок нет. Единственное где могут быть проблемы это в инклудах.
Кстати,

print file_get_contents('http://kot.wapf.ru/sms/index.php'?$_SERVER['QUERY_STRING']);

kot » 2008.08.20 16:57

Пишет

Код:

1
Parse error: syntax error, unexpected ')' in /home/kotusm/public_html/sms/index.php on line 17

Как раз в той строчке

Код:

1
lt;?include_once "../SYSTEM/include/functions.php";include_once "../SYSTEM/include/mysql.php";include_once "../SYSTEM/include/param.php";include_once "../SYSTEM/include/ban.php";include_once "../SYSTEM/include/sess.php";include_once "../SYSTEM/include/ban_2.php";include_once "../SYSTEM/include/theme.php";$mesto='Приколы в СМС';$title='Приколы в СМС';head();echo "<div class=\"h\">Приколы в СМС</div><hr />\n";if ($mail_in_new>0)echo "<div class=\"privat\"><img src=\"../SYSTEM/themes/$them/img/mail0.gif\" alt=\"\" /> <a href=\"../mail.php?act=in\">Приват</a> [$mail_in_new]</div><hr />\n";print file_get_contents('http://kot.wapf.ru/sms/index.php'?$_SERVER['QUERY_STRING']);echo "<hr />\n";echo "<a href=\"../index.php\">&lt;&lt; На главную</a>\n";foot();?>

Это код страницы.
Добавлено спустя   8 минут  35 секунд:
Проверил с помощью твоего php-валидатора,тот же самый результат-ошибка в 17 строке.

kot » 2008.08.20 18:00

Всё получилось!Я смог установить граб непосредственно на своём хосте.Было

Код:

1
2
3
4
5
$host = "wap.lviv.ua";
$path = "/sms/index.php?$QUERY_STRING";
$fp = fsockopen($host,80,$errno,$errstr,30);
if(!$fp) echo"$errstr ($errno)<br />\n";
и т.д. ......

а стало

Код:

1
2
3
4
5
$host = "wap.lviv.ua";
$path = "/sms/index.php?".$_SERVER['QUERY_STRING']; //изменил эту строчку
$fp = fsockopen($host,80,$errno,$errstr,30);
if(!$fp) echo"$errstr ($errno)<br />\n";
и т.д. .....

И возникает вопрос почему на wapf.ru эта строка работает,а на моём нет ?Раньше я думал что забанен ip моего хоста,а теперь и не знаю что и думать. http://kotusm.com/sms/index.php

Gemorroj » 2008.08.20 19:18

точку пропустил потому что.

kot » 2008.08.20 20:53

Точку я заметил,но всё равно не работало.

Gemorroj » 2008.08.20 21:26

заменяем 17 строку на эту

print file_get_contents('http://kot.wapf.ru/sms/index.php?'.$_SERVER['QUERY_STRING']);

, жмем F7 в PHPExpertEditor'e и получаем No syntax errors detected

kot » 2008.08.20 23:43

А не подскажешь где скачать этот PHPExpertEditor ?
(желательно с русским интерфейсом)

Gemorroj » 2008.08.21 01:58

http://ankord.com/ru/ это разработка украинских программистов, и русский язык там есть. просто нужно его в настройках выбрать. регистрация для жителей СНГ бесплатная, отправь ми заявку, через несколько дней пришлют ключ на мыло.

Vliker » 2009.11.11 16:13

Привет всем! У меня не большой вопрос по поводу граба. Я решил грабить ицкю регистрацию геммороя, станицу перевел на свою через file_get_contents("http://сите".$_SERVER[QUERY_STRING]) ; все нормально и картинку проверочную, но при нажатии на регистрация станица просто обновляется. Что делать чтоб это заработала? Кстати, хочу не с этого сайта грабить а с другого гг :D

Vliker » 2009.11.11 19:15

Прошу ответить

Gemorroj » 2009.11.11 19:50

отправлять POST данные

Vliker » 2009.11.12 01:19

Если не трудно напиши пример кода, чтоб вопросов были мало)

Gemorroj » 2009.11.12 10:36

тебе нужно будет использовать CURL вместо file_get_contents

Vliker » 2009.11.12 13:53

Я не разу не использовал такую фишку. Выложи код пожалуйста, как это правильно должно быть

Gemorroj » 2009.11.12 15:51

тут на форуме это уже много раз обсуждалось. поищи.
http://wapinet.ru/textbook/CURL_in_PHP.htm

Vliker » 2009.11.12 21:59

Я с телефона, пожалуйста выложи готовый код не могу че та разобраться ))

Vliker » 2009.11.14 19:16

Пожалуйста скопируйте оттуда и выложите готовый код

НЕЗНАЙКА » 2009.11.14 23:59

Пожалуйста, обдумай сам:)

Sep » 2009.11.17 21:11

А вот у меня вопрос, граблю с вэб сайта на вап, и получается что выводится текст на вап сайте квадратами, как мне сделать что бы нормально выводило? Как кодировку менять? Или хотя бы дайте грабберов с вэб в вап, что бы разобрать самому.

Gemorroj » 2009.11.17 21:45

тебе нужна функция iconv

Sep » 2009.11.25 17:45

Возникла вот еще одна проблемка, граблю страницу, на ней есть ссылки типа "game/тут всегда новое число/footb(иногда и другое название).html" ведущие на результат игр, как мне сделать что бы в грабе при переходе на ссылку, переходила на ту страницу с результатами уже  сграбленную, ну как то так:)

Gemorroj » 2009.11.25 17:52

заменить регуляркой эту строку. числа с помощью \d , что-то неведомое с помощью точки.

Sep » 2009.11.26 21:01

О, не, с регулярками еще не дружу, по примеру сам их делал, если есть минутка, напиши пожалуйса регулярку для моего примера.

Gemorroj » 2009.11.26 22:02

Код:

1
2
3
4
$str = 'game/'.mt_rand().'/'.str_shuffle('abcde').'.html';
 
preg_match('/game\/(\d+)\/(.+)\.html/iU', $str, $arr);
print_r($arr);
Sep » 2009.11.26 22:36

Спасибо большое, пойду разбираться.
Добавлено спустя   5 минут  47 секунд:
Спасибо большое, пойду разбираться.

denich » 2009.11.28 13:33

мужики ваша помощь нужна)
на локалке граб написал, всё работает кинул на хост не работает, почему? в чём может быть дело?
скрипт прикрепил..

вот http://seobomj.ru/denich/bobrdobr/ нихера не работает

+ скрин зделал, на локалке всё робит.

Gemorroj » 2009.11.28 13:58

путь к картинке не корректный.
сделай что-то типа $file = str_replace('src="/captcha/', 'src="http://bobrdobr.ru/captcha/', $file);
или отдельно грабь капчу.

denich » 2009.11.28 14:21

да дело то не в картинке) картинку зделаю,
дело в том что на локалке вот эту самую регу грабит отлично, ничего лишнего только поля ввода,
на хосте ничего не работает, а именно выводит только всю страницу и все..
почему то регулярки не работают в чём дело не пойму..

Gemorroj » 2009.11.28 14:58

Код:

1
span style="color: #0000BB"><?phpfunction curl_get_file_contents($URL){ $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[] = 'User-Agent: Opera'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $URL); 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); $contents = curl_exec($curl); curl_close($curl); return $contents;}$file = curl_get_file_contents('http://bobrdobr.ru/registration/index.php?' . $_SERVER['QUERY_STRING']);$file = explode('<form', $file);$file = explode('</form>', $file[3]);$file = '<form' . $file[0] . '</form>';echo $file;?>
denich » 2009.11.28 21:04

ага спасибо  :)
--

другой вопрос есть, по другому грабу.. ;)

граблю форму ввода, но данные до серва походу не доходят
вот моё -- http://seobomj.ru/denich/tic/
граблю -- http://www.whois-service.ru/citing-index/

походу надо менять <form method="post" action="./">
менял на

Код:

1
lt;?$file = str_replace('action="./">', 'action="?">', $file);?>

и на

Код:

1
lt;?$file = str_replace('action="./">', 'action="http://www.whois-service.ru/citing-index/index.php?">', $file);?>

во втором случае работает но меня кидает на сайт с которого граблю,
до ума довести не могу, что надо зделать?

Gemorroj » 2009.11.28 22:14

это место тебе вообще трогать не надо. тебе нужно отправлять полученный $_POST на сайт который грабишь.

denich » 2009.11.28 23:14

ну дак по идее все гуд,
вот посмотри http://seobomj.ru/denich/tic/
исходный текст, всё вроде норм.. или что то я упускаю?

Gemorroj » 2009.11.28 23:38

ну я не вижу как у тебя передатся $_POST на удаленный сайт и как обрабатывается ответ.

denich » 2009.11.29 09:42

Код:

1
lt;?if(!$_POST){ // если к нопка не нажата// то граблю так..}else{// если нажа то так) }?>

правильно мысю?? так делать?



не выходит..  :|

Gemorroj » 2009.11.29 10:35

ну так у тебя там обработки POST вообще нету.

denich » 2009.11.29 11:09

а как примерна та? наталкни на мысь)

я делал так
if(!$_POST){

}else{

}
но нето..

Gemorroj » 2009.11.29 11:21

именно то.

denich » 2009.11.29 14:48

:(  :(  :(  :(
http://seobomj.ru/denich/tic/

Gemorroj » 2009.11.29 15:59

а на уаленный сервер POST отправлять как бы не нужно? сам догадается, что они как бы есть?

denich » 2009.11.29 17:09

угу..)
а для примера есть что то подобное?? :D

Gemorroj » 2009.11.29 18:08

http://wapinet.ru/forum/viewtopic.php?pid=6914#p6914

denich » 2009.11.30 14:22

спасибо тебе и вот этой темке ещё))

denich » 2009.11.30 14:33

ещё малюсенький вопрос..
как сократить это

Код:

1
2
if(!$_POST) $file = curl_get_file_contents('http://www.whois-service.ru/citing-index/');
if($_POST) $file = curl_get_file_contents('http://www.whois-service.ru/citing-index/', $_POST);

до этого?

Код:

1
$l_total_user_s = ($total_users == 0) ? 'TOTAL_USERS_ZERO' : 'TOTAL_USERS_OTHER';
Gemorroj » 2009.11.30 14:36

воспльзоваться конструкцией if else

denich » 2009.11.30 15:12

if else это неуклюже будет)
я блин чот понять не могу как через ? :  делают..

AND » 2009.11.30 15:24

Код:

1
$file = curl_get_file_contents('http://www.whois-service.ru/citing-index/', ($_POST ? $_POST : false));