Проверенные инструменты для парсинга данных. Мой опыт и анонс кейсов

Приветствую всех! На связи Саша, и сегодня я поделюсь несколькими проверенными мной инструментами для парсинга данных, которыми пользуюсь на протяжении нескольких лет. И это не очередной обзор от теоретика — я имею большой прикладной опыт в этой области и мне есть что рассказать. Чтобы не быть голословным, в конце я опубликую опрос, где вы сможете выбрать, какой кейс по теме мне опубликовать в первую очередь.

Проверенные инструменты для парсинга данных. Мой опыт и анонс кейсов

Банальное предисловие

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

Специализированный софт

Начнем со специализированных софтов для парсинга данных. Мой фаворит — Aparser. Мощный серверный парсер, который может работать как на локальной машине, так и на дешевом VPS.

Он может решить практически любую задачу, но настройка может показаться сложной. Когда я говорю про сложную настройку, я имею в виду интерфейс. Новичку разобраться будет сложно, но если разобраться, то уже можно не остановиться =)

Интерфейс A-Parser
Интерфейс A-Parser

Я использую этот парсер, когда мне нужно собрать данные и у меня нет других более простых в настройке способов. Если мне не удается своими силами написать пресет для сбора нужных мне данных, я иду в саппорт. На платной основе по моему ТЗ ребята готовят и отдают конфиг.

Пример ТЗ на сбор данных из Яндекс.Вебмастера (до релиза официального API)
Пример ТЗ на сбор данных из Яндекс.Вебмастера (до релиза официального API)

Этот конфиг импортируется в программу в два клика, и можно начинать сбор.

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

Этот софт стабильно работает, и одним из его плюсов является возможность докупить пакеты proxy высокого качества, которые обеспечивают феноменальную производительность. К слову, софт очень шустрый и может работать с 1000 потоками (ай-ай-ай).

Использование Python

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

Эмуляция запроса в Postman — получение данных рекламного аукциона Wildberries по запросу “крутой товар”
Эмуляция запроса в Postman — получение данных рекламного аукциона Wildberries по запросу “крутой товар”

Немного повозившись в среде разработки получаю многопоточный парсер ставок по любому списку запросов с записью в базу данных.

Вот таким образом я собираю статистику по рекламному аукциону

Этот метод позволяет мне легко парсить различные проекты, и примерно 90% моих задач я решаю именно таким способом. Используются как простые библиотеки: http, requests, так и специализированные: scrapy, selenium, beautiful soup.

Облачные парсеры

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

Работа с Apify сводится к регистрации, выбору нужного сайта (например, Amazon или LinkedIn) , выбору пресета, вводу ссылок или поискового запроса и получению результатов парсинга.

1287 готовых парсеров, которые начнут собирать для вас данные в 1 клик
1287 готовых парсеров, которые начнут собирать для вас данные в 1 клик

Вы сразу получаете доступ к ресурсам сервера, таким как оперативная память, процессорное время, прокси и трафик. Некоторые пресеты стоят фиксированную оплату, например 40$ в месяц. Я считаю Apify действительно крутым и удобным решением и использую его для некоторых проектов.

Готовые парсеры онлайн

Первым и самым очевидным на первый взгляд решением являются готовые парсеры различных сервисов проектов, которые можно найти в интернете. Например, если вам нужно собрать объявления с Avito, вы идете в поиск в Яндексе или Google и ищете онлайн-парсеры для объявлений на Avito.

Вы точно найдете несколько решений, которые работают в вашем браузере без регистрации и СМС.

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

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

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

Экзотика

Было время, я баловался связкой PowerQuery и Excel. Это когда ты в в рабочей книге получаешь готовые данные из интернета. Также стоит отметить довольно мощный функционал в Google Sheets — тут тоже можно получать данные. Там, где нужна многопоточность, такие решения не подходят. Вариантов парсинга данных существует множество, и выбор зависит от уровня защиты, скорости получения данных, предпочтений по хранению информации и вашего бюджета.

Краткий итог

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

Где кейсы?

Я предлагаю выбрать вам первую тему, на которую я опубликую заметку:
Как парсинг помог нашему бизнесу пережить COVID-19 (гиперсегментация, формирование спроса)
Как я запустил работу с блогерами под ключ за 3 дня для стартапа (90 тысяч блогеров, скоринг и автоматический аутрич)
Какие я собираю данные из Маркетплейсов, и почему @Озон — красавчики
Парсер AppStore и Play Market прямо в спредшите
Как экселька составила идеальный бюджетный маршрут перелетов по 12 странам Юго-Восточной Азии и при чем тут Яндекс. Путешествия

Подписывайтесь на мой блог и не пропустите апдейты!

P. S.

Если вам нужна помощь в парсинге, пишите мне — у меня есть большой опыт в этой области, и я смогу помочь вам найти направление или решить задачу!

Связь через личные сообщения или Telegram-канал

2424
10 комментариев

Спасибо за обзор
В свое время сам делал парсинг (на Scrapy) на фриланс бирже.
Но доходы конечно мизерные

2
Ответить

Скорее не продажа парсеров, а данных должна стать бизнесом. Например, частый запрос в wordstat - сопоставление imdb id - kinopoisk id

2
Ответить

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

1
Ответить

Описание интересно, но скрины конфига и ТЗ нечитаемы вообще ((

1
Ответить

Ян, спасибо. Напишите в личку, в телеграм, скину вам конфиг. Там base64 текст, даже если было бы видно - толку никакого)

2
Ответить

за статью 5, за скрины 2

Ответить

А свой собирать?
Расскажи лучше про поддержку парсера - когда источник данных меняет верстку например

Ответить