Перейти к содержимому
PD
Browser Automation Studio

Парсинг страниц с XPath в BAS

Модуль «XPath» в Browser Automation Studio — быстро извлекать элементы и текст из HTML и XML, костяк большинства парсеров и скраперов на BAS.

Когда боту нужно вытащить данные из страницы, инструмент выбора в BAS — XPath. Это один из самых используемых модулей во всём продукте, потому что парсинг — сердце очень многих ботов, а XPath — самый быстрый способ его делать.

Что такое XPath

XPath — это язык запросов к HTML и XML страницам. Вы пишете выражение, указывающее на нужную часть документа, и XPath её возвращает. Он создан для парсинга: вместо рытья в сыром HTML вы адресуете элементы напрямую и вытаскиваете их содержимое.

Действия

  • XPath получить html — вернуть HTML найденного элемента.
  • XPath получить каждый html — вернуть HTML всех совпавших элементов, для перебора набора.
  • XPath получить текст — вернуть текстовое содержимое найденного элемента.
  • XPath получить каждый текст — вернуть текст всех совпадений, идеально для списка строк.
  • XPath получить атрибут — прочитать атрибут вроде href или src.
  • XPath проверить существование — проверить наличие совпадения, чтобы ветвиться при отсутствующем поле.

Конкретный пример

Сборка парсера объявлений — скрапера в стиле Avito — классический случай. Вы открываете объявления в браузере, затем для каждой карточки товара модулем XPath вытаскиваете характеристики, описание и фото. «XPath получить каждый текст» проходит по карточкам, «XPath получить атрибут» забирает URL картинок, а «XPath проверить существование» держит поток живым, когда у карточки нет поля.

XPath в инструментарии парсинга

XPath — для отрисованного HTML/XML, страницы такой, как её видит браузер. Он естественно сочетается с остальным инструментарием данных: находите и кликайте элементы селекторами, парсите ответы API через JSON, очищайте извлечённый текст операциями со строками. Но для большинства задач скрапинга именно в XPath происходит реальное извлечение — освойте его, и парсинг перестанет быть сложной частью.

Вопросы и ответы

Для чего нужен XPath в BAS?

XPath — это язык запросов к HTML и XML страницам. В BAS это один из самых используемых модулей для парсинга — быстро извлекать элементы и их текст со страницы, например заголовок, описание и фото карточки товара на доске объявлений.

Как собрать парсер в стиле Avito в BAS?

Откройте объявления в браузере, затем модулем «XPath» вытащите каждое поле карточки — заголовок, описание, цену, фото. «XPath получить текст» и «XPath получить html» возвращают данные; «XPath проверить существование» страхует от отсутствующих полей.

Ещё по теме

  • #Browser Automation Studio
  • #BAS
  • #XPath
  • #Парсинг
  • #Скрапинг

Есть идея? Давайте превратим её в работающий продукт.

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