Утилита для извлечения данных и парсинга HTML кода

Я иногда ссылаюсь на данную утилиту в примерах. Выкладываю её код и примеры использования.

Примеры использования.

Я привожу пример экспорта статей с одного из своих рабочих проектов — delovoymir2003.ru. Я выполнял программирование и переносом публикаций со старого сайта на сайт под drupal. Пример максимально конкретный.

Далее мы производим «первичный парсинг», т.е. извлекаем нужные куски данных из HTML документа. Они могут потребовать дополнительных проверок и преобразований позднее.

Заголовок статьи в данном примере находится в обрамлении — <h2 class=»itemTitle»>…</h2>. Было бы верно его разместить внутри H1, я сделаю на новом сайте после экспорта.

Курсор внутри объекта parse перемещается за найденный заголовок. Далее идет дата, обрамленная <h4 class=»itemTitle»>…</h4>. Пока просто извлечем её, чтобы на 2м этапе парсинга преобразовать её в UNIX_TIMESTAMP.

Картинка может быть в шаблоне, а может не быть, об этом нам сигнализирует наличие обрамления <div class=»itemImageBlock»>…</div>.

Вводный текст или тизер (краткое изложение) — тоже не обязательный атрибут статьи в примере.

Полный текст может подкинуть разные сюрпризы. Я, например, придерживаюсь правила : не использовать при создании статей тэг-а <div>. Но другие веб-мастера, верстальщики и программисты, могут придерживаться своих правил. :) В том числе, могут не соблюдать рекомендации W3C. Т.е. документ по разным причинам может содержать ошибки. Потому в поисках окончания текста я опираюсь на следующий после статьи блок <div class=»itemBody childs»>…</div>.

Текст утилиты. Класс parser.

 

Мало букафф? Читайте есчо !

Что использовать вместо mysql_escape_string() в Drupal 7?

Сентябрь 6, 2016 г.

Начиная с версии PHP 4.3.0, функция mysql_escape_string() считается устаревшей. PHP будет выдавать соответствующее предупреждение. Deprecated function: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. Т.е. ...

Читать

Имя файла по handle в PHP

Июнь 15, 2016 г.

Всем привычна схема, при которой известно имя файла, и вы совершаете с ним какие то манипуляции. В PHP много функций, которые предоставляют именно такой функционал. Что делать, когда есть только file handle? Как получить имя открытого файла? ...

Читать

Как использовать callback функции внутри класса

Июнь 5, 2017 г.

Пробовали ли вы использовать функции PHP, требующие указания кол-бек функции в качестве аргумента? Я часто пользуюсь preg_replace_callback(). Если функция вызывается внутри класса, то хотелось бы и callback разместить внутри этого же класса (объекта). ...

Читать

Удаление элементов из массива в PHP

Ноябрь 11, 2015 г.

Массивы в PHP - один из мощнейших инструментов программиста. Когда я начинал изучать PHP, у меня был определенный багаж знаний работы с массивами в других языках программирования, таких как C++, Delphi и Fortrain. Везде требовалось объявить массив, указать ...

Читать
 

Комментарии к «Утилита для извлечения данных и парсинга HTML кода»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: