Раскрываем секреты агрегаторов: обход блокировок и несовпадение цен на авиабилеты

Раскрываем секреты агрегаторов: обход блокировок и несовпадение цен на авиабилеты

Всем привет! Меня зовут Алина Маркина и я аккаунт-менеджер прокси-провайдера Infatica. Большая доля наших клиентов — сайты-агрегаторы, которые часто сталкиваются с тем, что сайты не позволяют собирать данные. В этой статье я расскажу об этой проблеме — и как её можно решить.

Сайты-агрегаторы автоматически собирают информацию о товарах и ценах в интернет-магазинах, чтобы пользователь мог их быстро сравнить и выбрать лучшее предложение. Первый пример, который приходит на ум — агрегаторы авиабилетов: платформы, способные быстро и точно ответить на вопрос: “Где найти самый дешевый авиабилет?” (впрочем, в этой статье мы увидим, что обеспечить “быстро и точно” — то еще приключение).

Скрейпинг

Сбор данных осложняется собственным масштабом: чтобы найти самую низкую цену, нужно просканировать все источники и не допустить сильного расхождения по времени, поэтому ручной труд — неоптимальный вариант. К счастью, этот процесс можно автоматизировать: настроить специального бота (краулера) — и он обойдет страницы сайтов и выгрузит информацию о товарах в нужном формате. Этот процесс называется “веб-скрейпинг” (и по своему смыслу примерно равен фразе “сбор данных”).

Раскрываем секреты агрегаторов: обход блокировок и несовпадение цен на авиабилеты

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

Агрегатор авиабилетов — самый очевидный пример, поэтому рассмотрим кое-что более оригинальное: представим, что комментарии на платформах, принадлежащим издательскому дому “Комитет” (vc.ru, tjournal.ru, dtf.ru) — кладезь мудрости и подтвержденного жизненного опыта, поэтому неплохо бы эти данные собирать, анализировать, а потом писать по ним отчеты:

Раскрываем секреты агрегаторов: обход блокировок и несовпадение цен на авиабилеты

Эта идея понравится всем — за исключением самих платформ, у которых мы эти данные забираем.

Противодействие скрейпингу

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

Чтобы собрать информацию с нужного сервера, робот посылает ему множество запросов. Это может выглядеть как ДДОС-атака, и тогда сработают защитные механизмы сервера, блокируя доступ бота к сайту. А если сервер защищен еще и против скрейпинга, то он гораздо быстрее заметит подозрительную активность и заблокирует вашего краулера.

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

Помимо блокировки запросов широко применяется и другой метод – показ недостоверной информации (“cloaking”) о ценах на товары или услуги. Так, например, продавцы намеренно изменяют описания карточек товаров, снижают или, напротив, увеличивают цену.

Один из наиболее распространенных примеров – постоянное изменение цен на авиабилеты. Здесь сложилась практика показа различных цен на рейсы в зависимости от IP-адреса. Задав поисковый запрос о стоимости билетов из Майями в Лондон из разных уголков мира, пользователь получит не совпадающие результаты.

Так, стоимость перелета при запросе через Азиатский IP составила $446, а IP из Восточной Европы - $370. Экономия очевидна: $76, что составляет почти 24% от цены билета.

Раскрываем секреты агрегаторов: обход блокировок и несовпадение цен на авиабилеты
Раскрываем секреты агрегаторов: обход блокировок и несовпадение цен на авиабилеты

Решение проблемы

Хостинг-провайдеры предоставляют сервисные IP-адреса. Для того чтобы определить принадлежность IP-адреса к пулу определенного провайдера, пользователю достаточно выполнить пару простых действий. Каждый из IP-адресов имеет свой ASN-номер, который содержит нужную информацию.

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

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

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

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

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

Выводы

  • По работе агрегаторов можно снимать шпионские боевики. Задача: проникнуть в интернет-магазин, собрать данные о ценах и остаться незамеченным.
  • Автоматический сбор данных — палка о двух концах: за масштабируемость и удобство приходится платить потенциальными блокировками.
  • Среди существующих типов прокси резидентный лучше всего подходит для агрегаторов, так как помогает притвориться настоящим пользователем из какой-либо страны.

Также, если у вас есть интересный опыт в скрейпинге или мысли по поводу того, как улучшить этот процесс — расскажите нам об этом в комментариях!

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

В общем за фотку Алине лайк. А так ничего не понял. наверное не моя тема :)

12