Парсеры на PHP. Часть 1.
// апреля 2, 2010 // 9 комментариев // PHP, Программирование
Написание парсера достаточно нестандартная задача к которой на первых парах тяжело подступится. В этой статье я расскажу алгоритма для парсинга почти любого сайта. В примере я использую PHP.
Для начала рассмотрим некоторые необходимые функции и библиотеки:
file_get_contents(string $url) – функция принимает в качестве параметра URL(кроме этого там может быть просто путь к файлу), на выходе возвращает содержимое страницы со всеми тегами. У этой функции есть недостатки, к примеру в User-agent посылается значение переменной user_agent из файла настроек PHP, а это может помешать при парсинге.
Библиотека CURL. Библиотека нужна что бы можно было получать содержимое страниц с заголовками как у браузеров. Почитать более подробно можно здесь: http://ru2.php.net/manual/en/book.curl.php
preg_match(string $pattern, string $subject, array &$matches) – функция для работы с регулярными выражениями, на входе идут 3 парметра: $pattern – регулярное выражение, $subject – строка где идет поиск по регулярному выражению, $matches – массив результатов).
preg_match_all(string $pattern, string $subject, array &$matches) – та же самая функция, что и preg_match, только она ищет все вхождения шаблона.
(далее…)