mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!
Статья является инструкцией по надстройке Parser

Раздел «Работа с HTML»

В данном разделе собраны действия для загрузки и обработки HTML-кода.

Действия по обработке html-кода используют для своей работы регулярные выражения. Если код страницы некорректный, то действия могут срабатывать с ошибками. Что относится к некорректному коду:

  1. Количество закрывающих тегов не равно количеству открывающих тегов (например, <div> больше, чем </div>)
  2. Атрибуты тега содержат в себе угловые скобки, например <img title="угловая скобки это < и >">
  3. Внутри открывающего тега есть переводы строки, например:

<div class="data"
        style="...."
        id="main"> текст </div>

Данный пример не вызовет ошибки, но на момент написания статьи под рукой не было подходящего примера.

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

Что делать в этом случае?

  1. В случае поиска тегов можно попробовать искать другие теги, которые не вызовут ошибок.
  2. Привести html-код к корректному виду при помощи текстовых функций.
  3. Использовать аналогичное действие из раздела "Неиспользуемые"

Действия из раздела "Неиспользуемые", например, "# HTML: Поиск заданных тегов", используют другой алгоритм работы и способны обрабатывать некорректный html-код. Однако постоянное их использование нежелательно ввиду того, что эти действия потребляют оперативную память, что может привести к проблемам с функционированием программы (впрочем, встречается это крайне редко).

При наличии в html-коде очень большого количества тегов (например, страница более 1 МБ и практически вся состоит из вложенных друг в друга div'ов, или другой пример - страница содержит более тысячи тегов <a> - гиперссылок) действия по работе с html-кодом могут работать медленно - несколько секунд или даже десятков секунд. В таком случае целесообразно использовать тектовые функции, в частности "Взять блоки текста МЕЖДУ ...". Они не так удобны для поиска тегов, но работают гораздо быстрее.

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
   ___    _  _     ____                   ____ 
( _ ) | || | | _ \ _ _ ____ / ___|
/ _ \ | || |_ | |_) | | | | | |_ / | | _
| (_) | |__ _| | _ < | |_| | / / | |_| |
\___/ |_| |_| \_\ \__,_| /___| \____|
Введите код, изображенный в стиле ASCII-арт.