Перейти до основного вмісту
У боротьбі між веб-скребками та анти-скребковими системами, контроль за ризиками на великих веб-сайтах та додатках стає все більш жорстким, і одним із заходів є блокування IP-адрес. Щоб вирішити проблему блокування IP, ефективним способом є налаштування проксі. Після налаштування проксі, веб-скребок може використовувати IP-адресу проксі для маскування своєї реальної IP-адреси, що дозволяє обійти обмеження анти-скребкових систем. Однак якість проксі може бути різною. Наприклад, безкоштовні проксі на ринку, як правило, є непридатними або заблокованими, а деякі платні звичайні проксі також потрапляють до чорних списків контролю ризиків на великих веб-сайтах та додатках. Тому зараз все менше проксі, які можна використовувати для збору високоякісних даних. На сьогоднішній день основними типами високоякісних проксі є ексклюзивні проксі, ADSL-проксі та мобільні стільникові проксі. Ця проксі-служба базується на ротаційних проксі-сервісах мобільних стільникових мереж (4G, 5G), і в цьому документі буде описано, як подати заявку на цю службу та використовувати її.

Мобільний стільниковий проксі

Мобільний стільниковий проксі — це проксі-сервіс, заснований на мобільному трафіку, всі проксі IP є реальними IP-адресами телефонів. Цей тип проксі використовується відносно рідко в сфері веб-скребків, тому ймовірність його блокування також менша, що робить його ефективним для збору даних з веб-сайтів та додатків з високим контролем ризиків. Ця проксі-служба базується на великій групі контрольованих мобільних телефонів, і весь трафік передається через справжній мобільний трафік, що підтримує запити даних з майже всіх веб-сайтів та додатків на ринку, забезпечуючи високу якість проксі та значно зменшуючи ймовірність контролю ризиків.

Спосіб подачі заявки

Щоб використовувати службу стільникового проксі, спочатку перейдіть на «сторінку заявки» для подачі заявки, перша заявка має 1 безкоштовний кредит. Якщо ви ще не увійшли в систему, вас автоматично перенаправлять на сторінку входу, після входу ви можете продовжити подавати заявку.

Спосіб використання

Після подачі заявки ви можете перевірити результати своєї заявки в «консолі», як показано на малюнку: Натисніть «Credentials», щоб переглянути ім’я користувача та пароль для використання служби стільникового проксі, розділені двокрапкою, де ім’я користувача складається з 8 символів, а пароль — з 32 символів, як показано на малюнку: Цей мобільний стільниковий проксі є ротаційним проксі, тому під час використання потрібно лише налаштувати фіксовану адресу проксі та порт, адреса проксі та порт — це cellular.proxy.acedata.cloud та 30000, цей проксі підтримує протоколи HTTP/HTTPS/SOCKS і може використовуватися для запитів до веб-сайтів протоколів HTTP та HTTPS.

Тестування команд

Отримавши ім’я користувача та пароль проксі, найзручнішим способом є тестування через командний рядок curl. Якщо ви ще не встановили, будь ласка, зверніться до https://curl.se/ для установки. Припустимо, що ім’я користувача та пароль проксі — це 1f78266a:eff0896726224fa2a99fe82dd1f07562, ми можемо протестувати за допомогою наступної команди curl:
curl -x 1f78266a:eff0896726224fa2a99fe82dd1f07562@cellular.proxy.acedata.cloud:30000 https://ipinfo.io
Тут ми використовуємо параметр curl -x, щоб вказати адресу проксі, протокол проксі за замовчуванням — HTTP/HTTPS, URL запиту — https://ipinfo.io, цей сайт може повернути реальну IP-адресу та регіон, в якому знаходиться IP.
Увага: вказані вище ім’я користувача та пароль можуть бути недійсними, будь ласка, замініть їх на свої.
Результат виконання виглядає так:
{
  "ip": "39.144.10.182",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
Як видно, у повернутому результаті country — це CN, що означає Китай, org — це China Mobile, що представляє китайську мобільну мережу, що підтверджує, що це вихід стільникового проксі. Якщо запустити ще раз, можна отримати інший результат, кожен запит має випадкову IP-адресу виходу.

Інтеграція коду

Нижче наведено приклад налаштування цього ротаційного стільникового проксі на Python:
import requests

proxy = 'http://{proxy_username}:{proxy_password}@cellular.proxy.acedata.cloud:30000'

proxies = {
    'http': proxy,
    'https': proxy
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io', proxies=proxies)
    print(resp.text)

Тут ми спочатку оголошуємо URL проксі та визначаємо його як змінну proxy, протокол — http, далі йдуть ім’я користувача та пароль ротаційного проксі (тобто ім’я користувача та пароль, які відображаються в консолі, розділені двокрапкою), потім йде символ @, а потім адреса та порт проксі. Далі ми оголошуємо змінну proxies, налаштовуючи два ключові пари, де ключі — це http та https, а значення — це proxy, що означає, що для веб-сайтів протоколів HTTP та HTTPS запити здійснюються через проксі, визначений змінною proxy. Потім визначаємо три цикли для тестування проксі, URL запиту — https://ipinfo.io, цей сайт може повернути реальну IP-адресу та регіон, в якому знаходиться IP. Результат виконання виглядає так:
{
  "ip": "39.144.18.26",
  "city": "Шанхай",
  "region": "Шанхай",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.144.18.26",
  "city": "Шанхай",
  "region": "Шанхай",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.144.182.55",
  "city": "Чжаньцзян",
  "region": "Гуандун",
  "country": "CN",
  "loc": "21.2339,110.3875",
  "org": "AS24445 Henan Mobile Communications Co.,Ltd",
  "postal": "524000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
Можна побачити, що результати кожного запуску отриманого проксі IP є випадковими, і що регіон, в якому знаходиться IP, дійсно походить з реального мобільного трафіку. Звичайно, вищезгаданий спосіб налаштування проксі насправді є відносно простим способом налаштування. Насправді, вищезгаданий код еквівалентний налаштуванню додаткового заголовка - Proxy Authorization під час запиту, тому вищезгаданий код також можна переписати наступним чином:
import requests
import base64

proxy_host = 'cellular.proxy.acedata.cloud'
proxy_port = '30000'
proxy_username = '{proxy_username}' # 8-значне ім'я користувача
proxy_password = '{proxy_password}' # 32-значний пароль

credentials = base64.b64encode(
    f'{proxy_username}:{proxy_password}'.encode()).decode()

proxies = {
    'http': f'http://{proxy_host}:{proxy_port}',
    'https': f'http://{proxy_host}:{proxy_port}'
}

headers = {
    'Proxy-Authorization': f'Basic {credentials}'
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io',
                        proxies=proxies, headers=headers)
    print(resp.text)

Можна побачити, що тут ми через заголовок Proxy-Authorization додатково налаштували ім’я користувача та пароль проксі (які потрібно закодувати в Base64), такий код також має той же ефект виконання. Для інших мов, таких як JavaScript з axios, також можна використовувати подібний спосіб налаштування:
const axios = require("axios");
const base64 = require("base64");

const proxy_host = "cellular.proxy.acedata.cloud";
const proxy_port = "30000";
const proxy_username = "{proxy_username}"; // 8-значне ім'я користувача
const proxy_password = "{proxy_password}"; // 32-значний пароль

const credentials = base64.encode(`${proxy_username}:${proxy_password}`);

const proxies = {
  http: `http://${proxy_host}:${proxy_port}`,
  https: `http://${proxy_host}:${proxy_port}`,
};

const headers = {
  "Proxy-Authorization": `Basic ${credentials}`,
};

for (let i = 0; i < 3; i++) {
  axios
    .get("https://ipinfo.io", { proxies, headers })
    .then((resp) => console.log(resp.data))
    .catch((err) => console.error(err));
}
Ефект виконання також однаковий. Для налаштувань інших мов, будь ласка, зверніться до вищезгаданого тексту та перепишіть самостійно.

Придбати більше

Якщо ваш пакет вже вичерпано, вам потрібно придбати більше, щоб продовжити використовувати цей проксі-сервіс. Щоб придбати більше, перейдіть на «сторінку заявки» і просто натисніть кнопку «Придбати більше», щоб вибрати, чим більше ви купуєте, тим дешевше одинична ціна.