Власники популярних сайтів відносяться до парсингу по-різному. І якщо одні не проти, щоб конкуренти «запозичували» інформацію для проведення маркетингових досліджень, тим самим підтримуючи здорову конкуренцію у вибраній ніші ринку, то інші намагаються «захиститися» від цього будь-якими способами, у тому числі блокуванням парсингу. Зокрема, йдеться про перевірку IP-адреси, аналіз заголовка HTTP-запитів, моніторинг використання Javascript і т.д. При цьому варто зазначити, що обійти заборони та блокування досить просто, особливо при завчасному виявленні проблеми. І команда проекту «Спарсім» вирішила розповісти, як парсить дані без ризику блокування з боку проекту (або як обійти блокування парсингу), поділившись важливою, корисною, цікавою, а також актуальною на 2021 рік інформацією з усіма читачами нашого блогу!

Як сканувати веб-сайти без блокувань?
Обійти блокування парсингу, обмеження, встановлені розробником, а також знизити можливість попадання в «Чорний список» можна кількома способами:
1. Підміна IP
Дещо раніше, перевірка IP користувачів вважалася однією з найефективніших тактик захисту від парсингу. Тому частина сервісів використовує кілька різних адрес. При блокуванні одного з них скрипт направляє запит від іншого. При цьому варто відзначити, що при налаштуванні скрипту можна скористатися API розробників, або підключати сторонні проксі-сервера, що направляють запит через серію різних IP.
При цьому варто зазначити, що частину сайтів використовують «чорні списки» – бази даних адрес, з яких хоча б раз спостерігалася підозріла активність. Обійти це обмеження просто: достатньо використовувати домашні або мобільні проксі. У будь-якому випадку, підібравши правильні IP, ви зможете парсувати потрібну інформацію без ризику блокування.
2. Налаштування реального UserAgent
Розробники більшості популярних сервісів не обтяжують себе налаштуванням UserAgent – особливого ідентифікатора, що повідомляє інформацію про браузер. Отже, за відсутності такої інформації сайт «видасть» блокування. На щастя, налаштувати його можна в кілька кліків, а щоб уникнути неприємних ситуацій, ви можете «замаскуватися» під робота Google.
Важливо розуміти, що UserAgents мають бути «свіжими» та враховувати дані, що відповідають останнім оновленням розробників популярних браузерів – Firefox, Opera, Chrome, Safari тощо. Незайвим буде і «чергування» між різними браузерами, оскільки раптовий сплеск однакових запитів може спричинити виявлення парсера і поміщає «витягти» потрібну інформацію.
3. Правильний інтервал між запитами
Якщо з одного IP фіксується по кілька запитів на секунду протягом 24 годин, навіть найпримітивніше блокування парсингу запідозрить негаразд і накладе відповідні обмеження. Щоб уникнути таких непорозумінь, при налаштуванні парсера бажано налаштувати випадкові затримки (в межах 2-10 секунд). При цьому варто відзначити, що бажання отримати потрібні дані швидко – це добре, але не забувайте, що таким чином ви можете “впустити” сайт для всіх відвідувачів.
Більше того, особливо «ввічливі» розробники залишають інформацію про перерви між запитами в robots.txt, знайти яку можна за адресою http://example.com/robots.txt або http://www.example.com/robots.txt.
4. Налаштування реферерів
При налаштуванні заголовка HTTP-запиту можна встановити ідентифікатор, який визначає, звідки саме ви потрапили на сторінку. У більшості випадків мова йде про пошукову систему – Google або Yandex, нерідко використовують і соцмережі – Facebook, Twitter, Instagram. При цьому сам реферер виглядає так:
“Referer”: “https://www.google.com/”
У випадку з Google, при парсингу сайтів по регіональній видачі краще встановити відповідний домен: .ru, .com.ua, .kz і т.д.
Крім того, ви можете використовувати:
- Безлогові браузери;
- Виявники невидимих посилань;
- Моніторинг динамічних змін;
- Служби розв’язання CAPTCHA.
При цьому варто зазначити, що якщо інформація потрібна терміново, але доступ обмежений з ряду причин, ви можете скористатися «обхідним шляхом» та спарсувати всі необхідні дані з кешованої (збереженої копії) сторінки Google.