Каталог решений - Самый простой парсинг и обработка веб-страниц в 1С

Самый простой парсинг и обработка веб-страниц в 1С

Самый простой парсинг и обработка веб-страниц в 1С

В наличии

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

Категория:

Описание

Простой, примитивный

Сегодня пятница (на момент создания публикации), а значит можно коснуться какой-нибудь простой темы. Например — парсинг сайтов. Публикация ориентирована больше на новичков и кто только решил посмотреть на работу поля HTML-документа.

Тема не новая и каких только материалов нет на просторах сети. Кто-то парсит через DOM, кто-то регулярками и еще длинный список способов. Мы же пойдем самым простым способом — через поле HTML-документа. Тем более с появлением поддержки WebKit возможностей для его использования прибавилось.

Рассмотрим пару простых примеров и немного коснемся ограничений.

Большие ограничения

Данный материал не подойдет, если Вы решаете следующие задачи:

  • Получение и обработка данных на сервере регламентным заданием или любым другим.
  • Обработка очень большого массива данных.
  • Пытаетесь парсингом заменить работу через API из-за его отсутствия или недоступности.
  • Вам нужен надежный способ получения данных.

В случаях же, если нужен простой и быстрый в реализации способ извлечения данных с веб-страниц, и при этом работа с инструментом будет вестись интерактивно, то использование поля HTML-документа то что нужно.

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

Однако, иногда выхода нет. Да и использование предлагаемого подхода можно считать этичным в каком-то плане, потому что создаем всего лишь помощника работы с браузером и автоматизируем действия пользователя на веб-странице. Хотя это вопрос "холиварный".

В чем плюсы

Все очень просто:

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

Но эти плюсы в каком-то плане создают и ограничения использования таких подходов работы с веб-содержимым.

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

Добрались до примера

Два небольших примера. От простейшего к сложному (ну, почти).

Просто получаем данные

А начнем мы с простого примера по парсингу площадки Яндекс.Маркет. Да, конечно, можно было сделать пример намного проще, но тут мы сразу рассмотрим основные способы работы с HTML-документов. Давным-давно, много лет назад, что-то подобное я выкладывал в разработке "Парсер товаров Яндекс.Маркет", но обработка сейчас уже не актуальна и больше служит примером работы с HTML-документов. Код там не лучшего качества 🙂

Когда мы закончим реализацию примера, то получим следующее.

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

Первое что нам нужно сделать — это добавить на форму поле HTML-документа и основные реквизиты для хранения данных.

 

has been added to your cart:
Оформление заказа