Парсер

Как сделать парсер

#1 4 мая 2013 в 18:32
Как сделать парсер на php?
Посмотрел в нете, есть несколько вариантов но немного все разные. Можеткто может помочь в изучении и дать пример такова?
#2 4 мая 2013 в 19:40
Сделал так но он неработает, ошибка в каждой строке:


<?php
///Этим мы обозначаем начало скрипта.
//2.Пишем
$file = file ("http://kaz.kz?$QUERY_STRING");
$file = implode ("",$file);
//(Команда ?$QUERI_STRING отдает команды исходному скрипту, например, index.php?action=dosug )
//3. Командой
$file = preg_replace('<img src(.*)logo.gif(.*)/>','',$file);
//Заменяем все, что надо заменить (или вырезать, оставив место между второй парой кавычек пустым). Заменяем все адреса и слова на нужные вам(если не понятно, я ниже напишу пример простейшего граббера)
//3. Командой
$file = preg_replace('<a href=\"#\" alt=\"Искать только на ресурсах Megaline\" class=\"ws_normal\" id=\"ws6\" onclick=\"is_this(this);\">Megaline</a>','',$file);
//Заменяем все, что надо заменить (или вырезать, оставив место между второй парой кавычек пустым). Заменяем все адреса и слова на нужные вам(если не понятно, я ниже напишу пример простейшего граббера)

//3. Командой
$file = preg_replace('<a href=\"http://search.kaz.kz/page.cgi?adv\">Реклама</a>','',$file);
//Заменяем все, что надо заменить (или вырезать, оставив место между второй парой кавычек пустым). Заменяем все адреса и слова на нужные вам(если не понятно, я ниже напишу пример простейшего граббера)

//3. Командой
$file = preg_replace('<a href=\"http://search.kaz.kz/page.cgi?add_url\">Добавить сайт</a>','',$file);
//Заменяем все, что надо заменить (или вырезать, оставив место между второй парой кавычек пустым). Заменяем все адреса и слова на нужные вам(если не понятно, я ниже напишу пример простейшего граббера)
//3. Командой
$file = preg_replace('<span>© 2011 KAZ.KZ</span>','',$file);
//Заменяем все, что надо заменить (или вырезать, оставив место между второй парой кавычек пустым). Заменяем все адреса и слова на нужные вам(если не понятно, я ниже напишу пример простейшего граббера)

//Primer
/* $file = str_replace('<a href="http://search.kaz.kz/page.cgi?about">О проекте</a>','То, на что надо заменить',$file);
Заменяем все, что надо заменить (или вырезать, оставив место между второй парой кавычек пустым). Заменяем все адреса и слова на нужные вам(если не понятно, я ниже напишу пример простейшего граббера)
*/
//4. Убираем рекламу командой
$file = preg_replace('|<a href=(.*)playfon.ru/(.*)>(.*)</a>|','', $file);
//Этой командой мы вырезаем все ссылки, в которых содержится адрес на платный контент(в данном случае это playfon.ru). playfon.ru/ заменяем на адрес, который показывается в рекламных ссылках с постоянно меняющимися названиями. Обычно их 1-3:) Для тех, кто не понял: (.*)-простым языком-это как бы джокер, может принимать любое значение. И поэтому каждая ссылка, содержащая в себе адрес playfon.ru/(неважно, что впереди или после, там ведь стоит (.*) ) будет вырезаться.
//5.Если, вдруг, вы собрались ограбить загрузки, сделали странички, а файлы не скачиваются(пишет файл не найден), значит скрипт запрашивает файл с вашего сервера, на котором этих файлов как раз нет:) Решение проблемы:
//просто замените название вашей папки, в которой лежит скрипт на полный адрес до одноименной папки того сайта, с которого вы грабите.(например,
//$file = str_replace('/static/download/','http://visavi.ne/static/download/',$file);)
//Тогда скрипт будет запрашивать файлы на сервере, на котором они и лежат. Этот метод подходит к тем сайтам, где выдается прямая ссылка на файл.
print "$file";
//(Выводим получившееся)
?>
#3 4 мая 2013 в 19:41
если вместо preg_replace написать str_replace то остаются тока эти строки, но всё останое вырезается.
#4 4 мая 2013 в 20:24
Константин Г., мне кажется надо взять рабочий вариант и на нем разбираться. Я так по крайней мере учусь
#5 4 мая 2013 в 21:47


Константин Г., мне кажется надо взять рабочий вариант и на нем разбираться. Я так по крайней мере учусь

Роман

может это рабочий либо я нетак понимаю. дайте рабочий
#6 5 мая 2013 в 12:33
я так понимаю, нет неодного програмиста, неужели все тока гововыми функциями пользуются? Мне ненужно гововый, сделаный за меня, я хочу узнать как он устроен и как работает.
#7 5 мая 2013 в 18:21
Константин Г., ну раз такое огромное желание. Разве гугл не помогает? Сколько раз наблюдал за вашими темами почти везде стоит акцент на напишите за меня. Есть поиск тут эта тема подымалась не один раз
#8 5 мая 2013 в 18:40
php.net, ru.wikipedia.org/wiki/Регулярные_выражения
и вперед учиться если так хочется понять суть.

за вас здесь никто ничего делать не будет. будут конкретные вопросы, будут конкретные ответы.

p.s. и научитесь писать грамотно, поставьте проверку орфографии в браузер.

В общении на сайте придерживайтесь норм грамматики русского языка и общепринятой вежливости. Запрещено осознанное коверканье слов, жаргон.

Правила сайта
в случае игнорирования, ваши темы будут удаляться
#9 5 мая 2013 в 19:19
Я не прошу сделать за меня, я: дайте рабочий попросил, и сказал: Мне ненужно гововый, сделаный за меня, я хочу узнать как он устроен и как работает.

и конкретные вопросы задал: почему эти 2 параметра неработают либо я нетак сделал.
Я не из Росии и стараюсь писать правельно.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.