Утилита для извлечения данных и парсинга 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.

 

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

Как получить HTTP код ответа удаленного веб-сервера из PHP?

Июнь 23, 2018 г.

Когда требуется получить HTTP код для заданной URL, то вы наверняка воспользуетесь PHP функцией get_headers($url). Дальше я расскажу о разных подводных ...

Читать

Раздвигающееся вертикальное меню Drupal 6

Сентябрь 7, 2013 г.

Эта задача из разряда useability. Drupal может штатно создавать блоки вертикальных иерархических меню. Неудобным будет тот случай, когда мы хотим попасть на страницу в глубине иерархии этого меню. Нам придется последовательно заходить на родительские ...

Читать

Проверка кода ИНН на PHP

Сентябрь 23, 2015 г.

В этом году писал реализацию данной функции для проекта C2C-base. Оказывается, бывает ИНН двух видов - для юридических лиц и физ лиц - 10 или 12 знаков соответственно. Проверка большинства подобных кодов осуществляется по контрольным цифрам, содержащимся ...

Читать

Выделение короткой строки-аннотации из HTML статьи

Март 10, 2013 г.

Встречались, наверное, с этой задачей - когда из статьи надо вырезать небольшой (а чаще всего, известной длины) кусочек, чтобы сформировать "тизер" или аннотацию. Наиболее правильный подход - предусмотреть для каждого вида аннотации (если статья может ...

Читать
 

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

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



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