Как сделать парсер?
3 ноября 2014 г. Просмотров: 818
Парсинг является одним из широко используемых приемов при программировании веб страниц. Он легко и просто позволяет получить необходимый сервис на сайт при помощи небольшого количества команд, когда нет возможности самостоятельно написать необходимый скрипт. Проще всего осуществить парсинг при помощи PHP функции file_get_contents(). Она позволяет получить содержимое файла в виде текстовой строки . Функция использует алгоритм «memory mapping», что улучшает ее производительность. Например, чтобы написать скрипт, который парсит данные с сайта ЦБ РФ, необходимо получить при помощи соответствующей функции содержимое XML-страницы, предварительно определив дату в соответствующем для сайта формате, после чего при помощи регулярных выражений разбить ее. Для отображения выбранной валюты используется код, полученный с сайта Банка:$data = date(“d/m/Y”);$get = file_get_contents(http://www.cbr.ru/scripts/XML_daily.asp?date_req=$data);preg_match(“/(.*?)/is”, $get, $string);preg_match(“/(.*?)/is”, $string[1], $str); Если требуется парсить непосредственно сам файл XML, то для этого существуют также соответствующие функции. Для начала парсера необходимо его инициализировать при помощи xml_parser_create:$parser = xml_parser_create(); Затем указывается перечень функций, которые будут обрабатывать соответствующие теги и текстовую информацию. Устанавливаются соответствующие обработчики начала и конца элемента XML:xml_set_element_handler($parser, “startElement”, “endElement”); Считывать данные можно при помощи стандартной функции fopen() и fgets() в рамках соответствующего цикла. Содержимое файлов отдается построчно в xml_parse(). В последнем параметре передается флаг считывания последней строки:while ($content = fgets($fparse)) {
Для освобождения занимаемых системой ресурсов используется функция xml_parser_free(). Эти функции являются самыми действенными при обработке XML файлов.
Оцените статью!
Инструкция
if (!xml_parse($parser, $content, feof($fparse))) {
echo “Error”;
break; } }