Парсинг Сервис

Что такое парсер примеры php парсеров.

Что такое парсер (граббер)? — примеры PHP-парсеров

Давайте разберёмся, что такое парсер или граббер в программировании. Что собой представляет процесс парсинга на примерах создания PHP-грабберов. В качестве бонуса — готовые парсеры RSS-ленты и получения контентной части статей с их demo-сайтами.


Парсер (от англ. parser) или граббер (от англ. grabber) — программное обеспечение, предназначенное для анализа и разбора исходных данных, с целью их обработки и дальнейшей использования в требуемом виде.


Происхождение термина «граббер» тесно связано с парсерами, но подразумевает извлечение данных из источника для этого не предназначенного, т. е. мы буквально «грабим» данные источника для их использования в личных целях.


Сам же процесс парсинга (англ. parsing) или скраппинга (англ. skrapping) обычно подразумевает выявление уникальных признаков или закономерностей употребления интересующего нас фрагмента данных, с целью построения соответствующих правил их «выделения» и «захвата» в исходных данных.


Пример использования cURL для PHP-граббера

Отдельно стоит отметить, что для работы граббера зачастую используется имитация браузера (например, подмена User Agent) с целью скрытия процесса граббинга и обхода защиты от граббинга.

Рассмотрим регулярное выражение: '(\d+)\s*рублей'iu — подробней:


само выражение «обёрнуто» одинарными кавычками с целью использования модификаторов: i — игнорировать регистр и u — используется UTF-кодировка;
круглые скобки — подмаска, с вложенным правилом, которая возвращается как второе значение массива $matches[1];
\d — спецсимвол для обозначения символа от 0 до 9;
+ — квантификатор для обозначения одного или более символов;
\s — спецсимвол для обозначения пробельного символа (пробел, табуляция и т. д.);
* — квантификатор для обозначения ни одного или более символов.

Примечание: парсер может быть написан на любом языке программирования: C#, Delphi, Java, PHP и т. д., но суть его от этого не меняется.


Частным и частым случаем парсинга служит разбор структурированных данных в формате XML или HTML.


XML-парсер на PHP

Для создания XML-парсера на PHP удобно использовать расширение SimpleXML для преобразования XML в объект, например: