Эволюция парсинга как сегмента рынка
Парсинг данных с сайтов и их структуризация как сегмент рынка прошел долгий путь от зарождающейся технологии до неотъемлемой части многих предприятий. Первые парсерыы были разработаны для гораздо меньшего объема Интернета (около 100 000 веб-страниц), но сегодня некоторые из популярных сайтов содержат миллионы страниц. Эволюция парсинга прошла долгий путь.
Хотя первоначальные парсеры могли собирать текст и картинки, другие данные, современные парсеры гораздо более надежны, поскольку помимо сбора данных они также способны проводить мониторинг веб-приложений на предмет уязвимости и доступности. Но не все библиотеки парсеров предназначены для всего Интернета. Вот как различаются между собой некоторые из веб-парсеров:
Разные парсеры имеют разную направленность
Парсеры создаются для решения конкретных задач, и поэтому некоторые из них больше сосредоточены по крайней мере на одном из следующих трех параметров:
1. Качество - такие парсеры имеют большой охват - имеют хорошие ресурсы, обнаруживают новые (связанные) страницы и замыкают цикл.
2. Репрезентативность - обеспечение полноты копий целевых данных, такие парсеры обычно ориентированы на конкретные сайты и прочесывают глубокие области Интернета.
3. Свежесть - в некоторых ситуациях наличие последних копий данных является жизненно важным, например в случае парсинга цен с маркетплейсов и их актуализация. Такие парсеры обычно подходят для областей, где есть потребность в самых свежих данных, возможно, с частотой, близкой к реальному времени.
Первые парсеры
Вот краткая история первого поколения веб-скриптов для парсинга:
1. RBSE spider - разработан и использовался в рамках программы NASA Repository Based Software Engineering (RBSE) в 1994 году в Хьюстонском университете. Он был создан Дэвидом Эйхманом из NASA с использованием языков Oracle, C и wais.
Основной целью этого парсера было индексирование и сбор статистики. В то время, когда был создан этот парсер, размер Интернета составлял всего около 100 000 веб-страниц.
2. WebCrawler - созданный Брайаном Пинкертоном из Университета Вашингтона и запущенный 20 апреля 1994 года, WebCrawler был первой поисковой системой, которая работала на основе парсера сайтов. Согласно Википедии, WebCrawler был первой поисковой системой, обеспечивающей полнотекстовый поиск.
3. Archive.org - Internet Archive, также известный как The Wayback Machine, использовал Heritrix в качеств епарсера для архивирования всего Интернета. Написанный на Java, он имеет лицензию на свободное программное обеспечение, доступное либо через веб-браузер, либо через инструмент командной строки.
Стоит также отметить, что Heritrix - не единственный скрип-сборщик, который использовался при создании Интернет-архива. На самом деле, большая часть данных была передана Alexa Internet, которая собирает данные для своих собственных целей с помощью парсера под названием ia_archiver.
Парсеры второго поколения для Web
Парсеры второго поколения - это либо а) специализированные парсеры, либо б) крупномасштабные парсеры. Сфокусированные парсеры - это парсеры, ориентированные на конкретный сайт, персонально настроенные и перемещаемые, такие как SPHINX и Mercator.
Провайдеры поисковых систем, такие как Google, Lycos и Excite, разработали парсеры, способные к глобальному масштабированию и индексированию данных.
От собственных разработок к инструментам DIY
Как только предприятия начали серьезно относиться к парсингу, они стали развивать собственные разработки. Перед командой разработчиков была поставлена задача по сбору релевантных данных из Интернета.
Разработчики использовали технологии с открытым исходным кодом и дорабатывали их в соответствии со своими потребностями. Однако для этого потребовались специальные команды для сквозного мониторинга конвейера пополнения, и оказалось, что управлять ими в масштабах компании довольно сложно.
Более того, команды разработчиков не могли сосредоточиться на своем реальном решении, которое должны были дополнять настройки сбора.
Учитывая объем рынка, на котором предлагались такие решения, произошел резкий рост числа инструментов "сделай сам" (DIY). Они служили определенной цели: поскольку веб все еще имел относительно последовательную структуру, было легко извлекать данные с помощью этих инструментов.
Несколько инструментов DIY, таких как Apache Nutch и Scrapy, были самыми популярными. Команды разработчиков начали использовать такие инструменты для более быстрого доступа к веб-данным с минимальными техническими барьерами.
Однако с ростом сложности Интернета довольно быстро проявились ограничения этих инструментов. Инструменты "сделай сам" имели совсем другие ограничения - они работали в ограниченном масштабе и в случае сбоев обеспечивали гораздо меньший контроль над их исправлением.
Эволюция парсинга данных как модели аутсорсинга
Впоследствии появились специализированные решения для парсинга данных - модель, в которой все работы по поиску и извлечению данных берет на себя внешний поставщик. Чистые и структурированные данные обычно предоставляются на постоянной основе через конвейер.
Это означает, что компании могут сосредоточиться на своей основной деятельности и предоставить кому-то другому заботиться о предоставлении им необходимых данных.
Хотя первоначальные веб-страницы имели ограниченные функциональные возможности и в основном однообразную структуру, быстрое расширение сети и усложнение элементов веб-страниц сделало задачу по поиску данных несколько сложной. Специализированные сервисы парсинга работают либо как SaaS-продукт, либо по модели Data-as-a-Service.
Обе модели имеют типичные преимущества и недостатки, и достижение правильного соответствия зависит от бизнес-сценария пользователя, т.е. от характера требований, наличия времени, ресурсов, рабочей силы и ноу-хау.
Кроме того, сегодня в мире парсинга существуют значительные тактические проблемы. Вот некоторые из них:
- блокировка IP-адресов целевыми веб-сайтами,
- риск совершения DDoS на серверы целевых сайтов,
- неоднородные веб-структуры,
- элементы AJAX,
- необходимость задержки в реальном времени
- другие тактики и инструменты борьбы с парсингом, такие как ScrapeShield (предоставляемый популярной CDN Cloudflare).
Тем не менее, решения, соответственно, развивались вместе с проблемами, и большинство из вышеперечисленных вопросов легко решаются в ESK Solutions с помощью различных механизмов.
По мере того как возрастают сложности, связанные с ползанием по сайтам, собственные команды могут оказаться не самым эффективным способом выполнения ползания. В такой ситуации аутсорсинговый партнер может стать полезным союзником, поскольку он обладает специализированным опытом в этой области и преодолел большинство распространенных проблем.
Таким образом, окупаемость инвестиций при использовании услуг аутсорсинга обычно намного выше, чем при развитии собственных возможностей.