Парсинг сайтов без блокировок. Как лучше это делать?

Меня зовут Максим Кульгин и моя компания xmldatafeed занимается парсингом сайтов в России. Ежедневно мы парсим более 500 крупнейших интернет-магазинов в России и на выходе мы отдаем данные в формате Excel/CSV и делаем готовую аналитику для маркетплейсов.

4242

В чат врываются специалисты 900 левела с претензиями

1. Ну как были безголовые браузеры 10 лет, так и есть. PhantomJS, Slimer, Silenium. + chromedriver. Ничего нового

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

3. Статья раздута на 80%)). Давайте честно. На 99% сайтах планеты не стоит никаких защит. Долби с одного IP до посинения. Или какие вы знаете популярные распространенные опенсорс решения? которые бы знали/использовали владельцы 99% сайтов

4. И да, часто curl/http2/guzzle проще и быстрее. если не надо выполнять js для рендеринга верстки

8
Ответить

Да, 99%.... без защит. Вот только интересный контент есть на 0.001%

5
Ответить

cloudfare - и у вас масса проблем :) 

2
Ответить

Я бы сказал, что в рунете ситуация меняется стремительно, спасибо накрутчикам ПФ. Ещё пара месяцев - и CF не будет только на кремлин.ру. Но там другие средства защиты есть.

1
Ответить

Cloudflare здорово жить парсерам мешает.
И стоит много где

Ответить

«Полугодовалый.. за день.. для любого сайта». Ну да. Хороший пример - спарсите вашими рекомендациями Авито. Вас заблокируют через ... часов.

Ответить

Специалист не 900 лвл. Безголовые браузеры потиху прогресируют и закрывают некоторы особности из-за которых их можно вычислить.

 Насчёт написать парсер может джун правда именно из-за этого существуют системы автоматического определения уже известной разметки так как накопилось добра этого много.Потихоньку переходим с 99% на 98%(больше из-за того что старые сайты отмирают а те кто не отмирает постепенно(очень не быстро) внедряют те или инные практики защиты от парсинга обысно правда довольно слабые.

Js выполнять нужно скорее из-за лени реверсить всю систему запросов. 

Ответить