Как да си направим парсер

Съдържание:

Как да си направим парсер
Как да си направим парсер

Видео: Как да си направим парсер

Видео: Как да си направим парсер
Видео: КАК СДЕЛАТЬ ПАРСЕР | PYTHON 2024, Може
Anonim

Синтактичният анализ е една от широко използваните техники за програмиране на уеб страници. Той лесно и просто ви позволява да получите необходимата услуга на сайта, като използвате малък брой команди, когато няма начин да напишете сами необходимия скрипт.

Как да си направим парсер
Как да си направим парсер

Инструкции

Етап 1

Най-лесният начин за анализиране е с PHP функцията file_get_contents (). Тя ви позволява да получите съдържанието на файл като текстов низ. Функцията използва алгоритъма "картографиране на паметта", което подобрява нейната производителност.

Стъпка 2

Например, за да напишете скрипт, който анализира данни от уебсайт на Централната банка на Руската федерация, трябва да получите съдържанието на XML страница с помощта на подходящата функция, като предварително сте определили датата във формата, подходящ за сайта, и след това с помощта на регулярни изрази да го разделите. За показване на избраната валута се използва кодът, получен от уебсайта на Банката: $ data = date (“d / m / Y”); $ get = file_get_contents (https://www.cbr.ru/scripts/XML_daily.asp ? date_req = $ данни); preg_match (“/(.*?)/ is”, $ get, $ string); preg_match (“/(.*?)/ is”, $ string [1], $ str);

Стъпка 3

Ако искате да анализирате самия XML файл, има и съответни функции за това. За да стартирате анализатора, трябва да го инициализирате с помощта на xml_parser_create: $ parser = xml_parser_create ();

Стъпка 4

След това се посочва списък с функции, които ще обработват съответните тагове и текстова информация. Задават се съответните манипулатори за начало и край на XML елемент: xml_set_element_handler ($ parser, “startElement”, “endElement”);

Стъпка 5

Данните могат да се четат с помощта на стандартните функции fopen () и fgets () в рамките на съответния цикъл. Съдържанието на файловете се връща ред по ред в xml_parse (). Последният параметър съдържа знамето за четене на последния ред: while ($ content = fgets ($ fparse)) {

if (! xml_parse ($ parser, $ content, feof ($ fparse)))) {

ехо “Грешка”;

почивка; }}

Стъпка 6

Функцията xml_parser_free () се използва за освобождаване на ресурсите, заети от системата. Тези функции са най-мощни при обработка на XML файлове.

Препоръчано: