Для сайтів-агрегаторів в сфері електронної комерції вкрай важливо підтримувати актуальну інформацію. В іншому випадку зникає головна їхня перевага – можливість бачити найважливiшi дані в одному місці.
Для того, щоб вирішити цю задачу необхідно використовувати техніку веб-скрейпінгу. Її сенс у тому, що створюється спеціальний софт – краулер, який обходить потрібні сайти зі списку, парсить інформацію з них і завантажує її на сайт-агрегатор.
Проблема в тому, що найчастіше власники сайтів, з яких беруть дані агрегатори, зовсім не хочуть так легко надавати їм доступ. Це можна зрозуміти – якщо інформація про ціну в інтернет-магазині потрапить на сайт агрегатор і виявиться вищою, ніж у конкурентів, представлених там же – бізнес втратить покупців.
Методи протидії скрейпінгу
Часто власники таких сайтів протидіють скрейпінгу – тобто скачуванню своїх даних. Вони можуть виявляти запити, які відправляють боти-краулери за IP-адресою. Зазвичай такий софт використовує так звані серверні IP, які легко обчислити і заблокувати.
Крім того, замість блокування запитів часто використовується й інший метод – виявленим ботам показують нерелевантну інформацію. Наприклад, завищують або занижують ціни на товари або змінюють їх опис.
Вiзьмемо ціни на авіаквитки. Дійсно, досить часто авіакомпанії і турагентства можуть показувати різні результати для одних й тих самих перельотів в залежності від IP-адреси. Реальний випадок: пошук авіаперельоту з Майамі до Лондона на одну й ту ж дату з IP-адреси в Східній Європі й Азії повертає різні результати.
У випадку IP-адреси в Східній Європі ціна виглядає так:
А для IP-адреси з Азії так:
Як видно, ціна на один й той самий переліт значно відрізняється – різниця становить $76, що дійсно багато. Для сайту-агрегатору немає нічого гіршого цього – якщо на ньому буде представлена невірна інформація, то користувачі не будуть ним користуватися. Крім того, якщо на агрегаторi у конкретного товару одна ціна, а при переході на сайт продавця вона змінюється – це також негативно впливає на репутацію проекту.
Рішення: використання резидентних проксі
Уникнути проблем пiд час скрейпінгу даних для потреб їх агрегації можна за допомогою використання резидентних проксі. Cервернi IP надаються хостинг-провайдерами. Виявити приналежність адреси до пулу конкретного провайдеру досить легко- у кожного IP є ASN-номер, в якому міститься ця інформація.
Є безліч сервісів для аналізу ASN-номерів. Часто вони інтегруються з антибот-системами, які блокують доступ краулерам або підтасовують дані, що віддаються у відповідь на їхні запити.
Обійти такі системи допомагають резидентні IP-адреси. Iнтернет-провайдери видають такі IP власникам житла, з відповідними позначками у всіх пов’язаних базах даних. Існують спеціальні сервіси резидентних проксі, якi дозволяють користуватися резидентними адресами. Infatica – якраз такий сервіс.
Запити, які краулери сайтів-агрегаторів відправляють з резидентних IP, виглядають так, ніби-то вони йдуть від звичайних користувачів з певного регіону. А звичайних відвідувачів ніхто не блокує – в разі інтернет-магазинів це потенційні клієнти.
В результаті використання ротованих проксі від Infatica сайти-агрегатори отримують гарантовано точні дані і уникають блокувань і труднощів з парсингом.
Джерело: habr.com