Привет всем, меня интересует принцем работы парсера. Может ли он полностью перекачать сайт или же отдельный раздел? С ними не имел делов, кто знает расскажите пожалуйста всё о нём че он умеет , а что нет. Спасибо .
05 Май 2011, 19:08Да,может.На сколько я пробовал сам такое делать,то знаю что удобно использовать regular expression(регулярные выражения).Тоесть к примеру есть текст erwekrw,pvnfdre[e]ewr и надо достать то,что находится в скобках [].
~
Да и самому эта тема будет интересна.
<?php
//Настройки парсера
//URL для парсинга контента
$url = 'http://www.cy-pr.com/news/2583/';
//Стартовый тег для парсинга контента
//тег который стоит перед началом нужного участка кода для парсинга
//и используется 1 раз
$start = '<div class="l-content">';
//Конечный тег участка кода для парсинга
//Тег который стоит после нужного участка который будем парсить
$finish = '<br class="clear"/>';
//Создаём функцию парсера
function parser($url,$start,$finish) {
//Получаем весь код страницы
$content = file_get_contents($url);
//Ищем позицию с которой мы будем вырезать код для дальнейшего использования
$position = strpos($content, $start);
//Вырезаем нужный блок
$content = substr($content, $position);
$position = strpos($content, $finish);
//Вырезаем код
$content = substr($content, 0, $position);
//Вырезаем HTML теги
//Для добавления\удаления используемых тегов допишите\удалите теги
$content = strip_tags($content, '<p><a>');
//Debug (Проверка того, что выводит парсер)
//echo nl2br($content);
//Открываем файл для чтения и перезаписи
$fp = fopen('article.txt', 'write');
//Записываем код в файл
fwrite($fp, nl2br($content));
//Закрываем файл
fclose($fp);
//Возвращаем напарсеный контент
return $content;
}
//Вызываем функцию парсинга
parser($url, $start, $finish);
?>
MoD, не substr(), а mb_substr() надо юзать, т.к. первая некорректно с кириллицей работает
26 Май 2011, 12:23принцып тут не сложный, смотря что получить надо , если же требуется текст получить то тупо использование регулярных выражений, если же нужен контент регулярные выражение + копирование данных, писать их не сложно зная хорошо регулярки,
26 Май 2011, 12:47