Итак, парсинг страницы состоит из 3х основных частей.
— Получение удаленной страницы;
— Разбор содержимого и выделения нужных данных;
— Сохранение и/или использование этих данных.
1. Получение страницы легче всего сделать с помощью функции file_get_contents()
2. Разбор содержимого чаще всего осуществляется для помощи регулярных выражений.
О них можно почитать: в нашем F.A.Q. или на официальном сайте
3. Данные, вытащенные с помощью регулярных выражений можно сохранить для дальнейшего использования или сразу отдать пользователю в браузер.
Замечание!
Очень часто регулярные выражения используют неоправданно! Например, для того чтобы определить, присутствует на странице какое-либо слово или нет. Для этого лучше всего использовать строковые функции, например strpos()
Разберем пример.
Допустим нам необходимо написать самый безобидный скрипт парсящий страницу — обновление курса валют с сайт ЦБ РФ для сегодняшней даты.
<?php
//Определяем сегодняшнюю дату в формате, который используется на сайте cbr.ru
$date = date("d/m/Y");
//Определим код нашей валюты на сайте cbr.ru
//Америконский доллар
$code='R01235';
//Выполняем первый пункт, считываем страницу с курсами валют в переменную
$file = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$date);
//Разбираем страницу с помощью регулярок:
preg_match("/\<Valute ID=\"".$code."\".*?\>(.*?)\<\/Valute\>/is", $file, $m);
preg_match("/<Value>(.*?)<\/Value>/is", $m[1], $r);
//Запятую, отделяющую дробную часть заменяем на точку, и у нас в переменной $dollar находится курс доллара.
$dollar = str_replace(",", ".", $r[1]);
?>