Альтернативы Portia для парсинга веб-сайтов

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

Как же люди использовали Portia, когда он существовал? Чтобы использовать Portia, нужно было ввести шаблон URL-адресов, которые необходимо посетить, а затем выбрать элементы на этих веб-страницах с помощью жестов "укажи и щелкни" или с помощью CSS или XPath. Несмотря на простоту использования, самыми большими проблемами Portia были следующие:

  •     По сравнению с другими инструментами для парсинга с открытым исходным кодом, управление этим инструментом занимало много времени.
  •     Навигация по веб-сайтам была сложной.
  •     Чтобы Portia не посещала ненужные URL-адреса, нужно было указать целевые страницы, когда вы начинали сканирование.
  •     Не было возможности подключить базу данных для сохранения собранных данных.

В чем преимущества визуальных парсеров?

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

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

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

В каких областях визуальные парсеры не работают?

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

Вам может понадобиться включить парсинг некоторых данных в рабочий процесс (это должно быть автоматизировано).
Может потребоваться парсить данные с сотен или тысяч страниц и часто обновлять их.

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

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

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

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

Даже если какие-то изменения в пользовательском интерфейсе могут потребовать изменений в парсере, эти изменения обычно минимальны, и настроить парсер под эти изменения достаточно просто.

парсинг данных

Какие еще альтернативы у нас есть?

Существует множество альтернатив Portia. Такие языки, как Python, R и Golang, используются разработчиками и командами по парсингу по всему миру для извлечения данных с веб-страниц. Разрабатываются новые способы сделать этот процесс быстрее. Например, с помощью параллельного программирования и кэширования в Golang, используя пакет под названием Colly, вы можете использовать пользовательские настройки, такие как следующие:

  1. Количество страниц, которые вы хотите просматривать одновременно в любой момент времени.
  2. Максимальная глубина, на которую должен погрузиться парсер, когда он начнет собирать веб-страницу. (Это означает, что если вы установите максимальную глубину в 3, то парсер просмотрит верхнюю страницу, перейдет к URL, найденному на ней, просмотрит его, затем перейдет к URL, найденному на этой странице, и просмотрит его тоже, но теперь на третьей странице, если он найдет URL, он не пойдет дальше).
  3. Вы можете установить проверку на наличие слов в URL - то есть если слово присутствует в URL, то веб-страница, содержащаяся в этом URL, должна быть собрана. Или вы можете установить исключения - URL, содержащие определенное слово, не должны быть доступны парсеру.

Это лишь некоторые примеры из сотен мелких функций, которые вы получаете при самостоятельном создании веб-парсера.

DaaS-провайдеры против собственной команды?

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

И в конце концов, если вы небольшая компания, и веб-парсинг не является топливом для вашего бизнеса (то есть ваш бизнес не сосредоточен на данных, которые вы собираете из Интернета), то нет смысла создавать собственную команду.

Простым решением в этом случае являются DaaS-провайдеры, которые принимают ваши требования и предоставляют вам данные в выбранном вами формате. Наша команда в ESK Solutions гордится тем, что сократила процесс парсинга до двух шагов для бизнеса и предприятий.

Заключение

Хотя визуальные инструменты полезны для бизнес-команд, мы можем сказать, что парсинг - это не простая бизнес-задача. Это задача, которая должна быть эффективной, быстрой и полностью настраиваемой. Если у вас есть требования к большому объему парсинга или вы хотите извлечь данные в гораздо больших масштабах, рекомендуется воспользоваться услугами парсинга.

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