Парсинг данных со страниц сайтов

Заметка о том, как собирать данные со страницы другого сайта с помощью библиотеки simple_html_dom.

Я уже касался темы поиска информации на страницы с помощью регулярных выражений и функций preg_match и preg_replace. Также разбирал как менять информацию на странице WordPress записи. Теперь разберём сбор информации сторонними инструментами, которые призваны упростить сбор данных.

simple_html_dom

Есть несколько библиотек упрощающих парсинг страниц. В данном примере мы будем использовать библиотеку simple_html_dom.php.

Библиотеку можно скачать на официальном сайте, там же инструкции к ней.

Скачиваем архив к себе на компьютер. Разархивируем его и файл simple_html_dom.php заливаем на свой сервер.

Теперь подключаем этот файл:

^^ путь приведен для тем сайтов на WordPress.

Перед работой, в самом файле simple_html_dom.php надо закомментировать строчку:

Вместо неё поставить:

Это делается, чтобы избежать ошибок, которые могут появляться:

Notice: Undefined variable: item in /wp-content/themes/ploshadka.net/parser-page.php on line 31

Notice: Undefined offset: 0 in /wp-content/themes/ploshadka.net/parser-page.php on line 89

Notice: Trying to get property of non-object in /wp-content/themes/ploshadka.net/parser-page.php on line 89

php — Fatal error: Call to a member function find() on a non-object …

Uncaught Error: Call to a member function findfind() on string in

В этой статье я не буду касаться того как скачать файл с другого сайта к себе на сервер. Но лучше парсить страницы, предварительно скачав их себе.

Пример нахождения html тега td с классом person.

Основные моменты в коде выше я сопроводил пояснениями.

С помощью этого php мы нашли информацию находящуюся в теге:

Найденное выражение можно вывести в разных вариантах (если варианты существуют, потому что выше мы сузили поиск и ограничили переменной $i).

Примеры поиска и вывода данных

Найдёт html тег div с id = «table»:

Выведет все текстовые значения внутри ссылки:

Сохранит найденное в переменную, массив данных из которой потом можно вывести отдельно:

Отдельные части опять же можно сохранить в переменную:

Также читайте более сложные примеры работы с этой библиотекой php.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Парсинг данных со страниц сайтов".

Ваш e-mail не будет опубликован. Обязательные поля помечены *