CoderCastrov logo
CoderCastrov
Парсер веб-сайтов

Зачем нужен парсинг

Зачем нужен парсинг
просмотров
2 мин чтение
#Парсер веб-сайтов

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

Введение

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

Парсинг веба может быть значимой частью любого бизнеса. Есть компании, чьей единственной целью является изучение тенденций рынка, будь то транспортная отрасль (Wire Mind) или розничный бизнес для конечных потребителей (Pricing Assistant). В этом деле парсинг является очень мощным средством для достижения цели, позволяя иметь отличное представление о рынке по очень низкой стоимости.

Еще одно применение техник парсинга осуществляется компаниями, такими как Bankin или Budget Insight, чьей целью является агрегация данных клиентов для предоставления их в одном месте по более низкой стоимости, позволяя клиенту собирать свои бухгалтерские данные для более удобного управления финансами.

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

Могут возникать конфликты интересов между владельцем данных и лицами, собирающими данные

Более техническое представление парсинга

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

Существует две основные стратегии при парсинге веб-сайтов:

  • Первая стратегия заключается в запуске скрипта, который массово собирает данные и сохраняет их в любом хранилище данных, которое у вас есть (например, No-SQL база данных, такая как MongoDB). Это позволяет обрабатывать данные асинхронно в дальнейшем. Этот подход ориентирован на использование конвейера обработки данных, и хорошим стеком для выполнения такой задачи является Scrapy + любая No-SQL база данных, с которой вы знакомы.
  • Вторая стратегия предполагает более тонкую настройку сбора данных, путем прямого сопоставления различных источников данных с нормализованной схемой и извлечения только необходимой информации в процессе. Затем вы можете предоставить свои данные с помощью стандартного веб-фреймворка API, такого как Flask или Django Rest Framework.

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