[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: граббер
qaz333
Всем привет, ребят помогите научится писать граберы, я прост ни как не могу понять как ето работает, а все примеры из гугла нерабочие подскажите как и с чего начать





Спустя 20 минут, 49 секунд (16.04.2011 - 12:54) Stuff_f написал(а):
Цитата (qaz333 @ 16.04.2011 - 09:33)
Всем привет, ребят помогите научится писать граберы, я прост ни как не могу понять как ето работает, а все примеры из гугла нерабочие подскажите как и с чего начать

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

Спустя 1 минута, 16 секунд (16.04.2011 - 12:55) alex12060 написал(а):
Качаешь сайт (исх код), далее, что тебе надо, пишешь правила для отбора информации. Уточни, что именно надо. а то слишком абстрактно.

Спустя 4 минуты, 15 секунд (16.04.2011 - 12:59) Stuff_f написал(а):
Граберов тьма по сессиям и прочее....

Спустя 59 минут, 29 секунд (16.04.2011 - 13:59) qaz333 написал(а):
ну ок, давайте к примеру возьмём http://bartzmovie.com/
нажно сграбить колонку Скачать фильмы бесплатно :
я попробовал но чегот невышло

<?

$a=file_get_contents("http://bartzmovie.com/");

preg_match_all("/(?<=<div class="navlist">) (.*)(?>=</strong></div></td></tr></table>)/",$a,$b);
echo $b;

?>

Спустя 1 час, 50 минут, 4 секунды (16.04.2011 - 15:49) Invis1ble написал(а):
qaz333
у тебя пробел лишний в регулярке и с кавычками бок

Спустя 2 часа, 38 минут, 49 секунд (16.04.2011 - 18:28) qaz333 написал(а):
хто с ковычками? какой бок ?

Спустя 2 минуты, 23 секунды (16.04.2011 - 18:30) alex12060 написал(а):
preg_match_all("/<div class=\"navlist\">)(.*?)<\/strong><\/div><\/td><\/tr><\/table>/ius",$a,$b);

Спустя 9 минут, 18 секунд (16.04.2011 - 18:40) qaz333 написал(а):
Цитата (alex12060 @ 16.04.2011 - 15:30)
preg_match_all("/<div class=\"navlist\">)(.*?)<\/strong><\/div><\/td><\/tr><\/table>/ius",$a,$b);

ага, спс, понял в чём моя ошибка, но тут выскакивает слудующая проблема
Warning: preg_match_all(): Compilation failed: unmatched parentheses at offset 21 in /usr/home/htdocs/index.php on line 5

как быть? я уже почитал в гугле што ето такое но не знаю как обойти пролему стороной

Спустя 1 час, 4 минуты, 53 секунды (16.04.2011 - 19:44) qaz333 написал(а):
я тут подумал

а разве скобки там не нужны?

preg_match_all("/(<div class=\"navlist\">)(.*?)(<\/strong><\/div><\/td><\/tr><\/table>)/ius",$a,$b);



я переделал так

<?

$a=file_get_contents("http://bartzmovie.com/");



preg_match_all("/(<h1>Скачать фильмы бесплатно)(.*?)(Драма<\/a>)/ius",$a,$b);

echo $b;

?>

теперь показует Array чё ето за фигня?

Спустя 3 часа, 58 минут, 13 секунд (16.04.2011 - 23:43) Invis1ble написал(а):
qaz333
Тебе надо с основами разобраться для начала, а не грабберы и т.п. писать

Спустя 18 часов, 8 минут, 23 секунды (17.04.2011 - 17:51) qaz333 написал(а):
Цитата (Invis1ble @ 16.04.2011 - 20:43)
qaz333
Тебе надо с основами разобраться для начала, а не грабберы и т.п. писать

с чем конкретно мне надо разобратся?

Спустя 37 минут, 22 секунды (17.04.2011 - 18:28) Invis1ble написал(а):
qaz333
К примеру, почему
Цитата
теперь показует Array

и
Цитата
чёето за фигня

smile.gif

Спустя 19 минут, 16 секунд (17.04.2011 - 18:48) qaz333 написал(а):
Цитата (Invis1ble @ 17.04.2011 - 15:28)
qaz333
К примеру, почему
Цитата
теперь показует Array

и
Цитата
чёето за фигня

smile.gif

ну и где мне про ето почитать? што ето за термин?

Спустя 7 минут, 55 секунд (17.04.2011 - 18:56) Invis1ble написал(а):
qaz333
Примерно здесь

Спустя 53 минуты, 6 секунд (17.04.2011 - 19:49) qaz333 написал(а):
Цитата (Invis1ble @ 17.04.2011 - 15:56)
qaz333
Примерно здесь

оу, спс, узнал много интересного, на досуге дочитаю до конца,

ну вобщем давайте продолжим по теме, тоесть про написпние граббера

<?
$a=file_get_contents("http://bartzmovie.com/");
preg_match_all("/<div class=\"navlist\">(.*?)<\/strong><\/div><\/td><\/tr><\/table>/is",$a,$b);
$t = iconv("windows-1251", "UTF-8", $b[0][0]);
echo $t;
?>


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

Спустя 55 минут (17.04.2011 - 20:44) qaz333 написал(а):
Вобщем у меня получилось вот што,

<?
$a=file_get_contents("http://bartzmovie.com/");
preg_match_all("/<div class=\"navlist\">(.*?)<\/strong><\/div><\/td><\/tr><\/table>/is",$a,$b);

$t = iconv("windows-1251", "UTF-8", $b[0][0]);
$z = str_replace('<a href="/','<a href=http://bartzmovie.com/',$t);
$m = str_replace('/"','',$z);


echo $m;
?>


как быть дальше?

Спустя 1 час, 17 минут, 6 секунд (17.04.2011 - 22:01) l@pteff написал(а):
Цитата

как быть дальше?

а что дальше? скрипт ссылки грабит. по-моему, эффект достигнут, разве нет?

Спустя 18 часов, 47 минут, 1 секунда (18.04.2011 - 16:48) qaz333 написал(а):
Цитата (l@pteff @ 17.04.2011 - 19:01)
Цитата

как быть дальше?

а что дальше? скрипт ссылки грабит. по-моему, эффект достигнут, разве нет?

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

Спустя 2 часа, 9 минут, 44 секунды (18.04.2011 - 18:57) Dr.Mars написал(а):
Сорри за оффтоп, мне это напомнило советский мультик про антошку и картошку
Антошка, Антошка, пойдем копать картошку biggrin.gif

Спустя 4 минуты, 3 секунды (18.04.2011 - 19:02) Invis1ble написал(а):
Dr.Mars
Если я правильно понял твой намек, то это не оффтоп =)

Спустя 2 часа, 52 минуты, 59 секунд (18.04.2011 - 21:55) qaz333 написал(а):
может хтонибуть подскажет штонибуть путное?

Спустя 38 минут, 23 секунды (18.04.2011 - 22:33) qaz333 написал(а):
Возникла небольшая проблема


<?
$a=file_get_contents("http://bartzmovie.com/");
preg_match_all("/<div class=\"navlist\">(.*?)<\/strong><\/div><\/td><\/tr><\/table>/is",$a,$b);

$t = iconv("windows-1251", "UTF-8", $b[0][0]);
$z = str_replace('<a href="/','<a href=http://bartzmovie.com/',$t);
$m = str_replace('/"','',$z);


echo $m;
?>


ето шоблон нормально работал а теперь вдруг пишет ошибку
Array Notice: Undefined offset: 0 in

почему вдруг так произошло?

Спустя 6 минут, 33 секунды (18.04.2011 - 22:39) Invis1ble написал(а):
qaz333
У тебя будут постоянно возникать "небольшие проблемы", пока ты с основами не разберешься

Спустя 10 часов, 28 минут, 40 секунд (19.04.2011 - 09:08) qaz333 написал(а):
Цитата (Invis1ble @ 18.04.2011 - 19:39)
qaz333
У тебя будут постоянно возникать "небольшие проблемы", пока ты с основами не разберешься

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

Спустя 10 часов, 45 минут, 58 секунд (19.04.2011 - 19:54) walerus написал(а):
Такс по порядку, я не совсем понял что нужно в итоге, если чему то хочешь научиться, то как завещал великий Ленин...

По теме


<?
$data = file_get_contents('http://bartzmovie.com/'); // Твой урл

preg_match('~<div class="navlist">(.*)</div>~', $data, $matches); // Первый фильтр - ищем все что в тегах <div class="navlist"></div>
preg_match_all('~<strong>(.*)</strong>~iUs', $matches[1], $matches_1); // Второй фильтр - ищем в том что получили все что в тегах <strong></strong>

$result = array(); // Массив с результами

# Перебираем все то что получилось (массив), и ищем все что в теге <a></a>

foreach($matches_1[1] as $line)
{
preg_match('~">(.*)</a>~iUs', $line, $matches_2);
$result[] = trim($matches_2[1]);
}

print_r($result);

/* Результат
Array
(
[0] => Новинки кино
[1] => Классика кино
[2] => Боевик
[3] => Военный
[4] => Вестерн
[5] => Детектив
[6] => Драма
[7] => Исторический
[8] => Комедия
[9] => Криминал
[10] => Мелодрама
[11] => Мистика
[12] => Молодежное
[13] => Мультфильм
[14] => Мюзикл
[15] => Пародия
[16] => Приключения
[17] => Русское кино
[18] => Семейный
[19] => Спорт
[20] => Триллер
[21] => Ужасы
[22] => Фантастика
[23] => Фэнтази
[24] => Биографический
[25] => Документальный
[26] => Разное
)
*/



?>


Смотри, разбирайся, написал специально "разжовано", сходу, сразу, все равно ничему не научишься.

Твои действия которые будут правильными и оправданными:
1) Покупаешь книжку по PHP - читаешь...;
2) Покупаешь книжку по Регуляркам - читаешь.

Потом, что то пишешь, приводишь свои примеры того что ты наваял и ждешь подсказок. А так как ты захотел, пришел - дал ТЗ - получил ответ, это не каждый тебе сделает, и дело совсем не в лени или еще чем нибудь, а просто люди, до того как чему то научились, так же покупали "библии" и так же тратили свое время, а оно у нас как говорится - БЕСЦЕННО...

Пока не проявишь свое желание чему то научиться, будешь платить за Чужие знания.

P.S.
qaz333 - Сообщений: 227, про что они ???

Как то так, если кого обидел сори )

Спустя 1 день, 16 часов, 12 минут, 38 секунд (21.04.2011 - 12:07) Invis1ble написал(а):
walerus
она ведь написал уже:
Цитата
все о сновы што встречал в учебниках и материалах по которым я учился я изучил

smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.