Vai al contenuto principale
Con l’intensificarsi della lotta tra crawler e anti-crawler, i controlli di rischio delle principali piattaforme e app sono diventati sempre più rigorosi, uno dei quali è il blocco degli IP. Per risolvere il problema del blocco degli IP, un modo efficace è impostare un proxy. Dopo aver impostato un proxy, il crawler può utilizzare l’IP del proxy per mascherare il proprio vero indirizzo IP, superando così le restrizioni anti-crawler. Tuttavia, la qualità dei proxy varia, ad esempio, la maggior parte dei proxy gratuiti disponibili sul mercato sono praticamente inutilizzabili o già bloccati, mentre alcuni proxy a pagamento sono stati aggiunti alle liste nere di rischio delle principali piattaforme e app. Pertanto, i proxy di alta qualità utilizzabili per il crawling di dati stanno diventando sempre più rari. Attualmente, i proxy di qualità relativamente alta disponibili sul mercato includono proxy dedicati, proxy ADSL e proxy cellulari mobili. Questo servizio di proxy è basato su un servizio di proxy rotante della rete cellulare mobile (4G, 5G), e questo documento descriverà come richiedere e utilizzare questo servizio.

Proxy cellulare mobile

Il proxy cellulare mobile è, in realtà, un servizio di proxy costruito sulla base del traffico mobile, tutti gli IP proxy sono i veri IP dei telefoni. Questo tipo di proxy è relativamente poco utilizzato nel campo del crawling, quindi la probabilità di essere bloccati è minore, rendendo questo tipo di proxy molto efficace per il crawling di siti web e app con controlli di rischio molto elevati. Questo servizio di proxy è supportato da un grande pool di telefoni controllati in modo centralizzato, tutto il traffico viene inoltrato tramite traffico mobile autentico, supportando praticamente tutte le richieste di dati dei siti web e delle app disponibili sul mercato, con una qualità del proxy estremamente alta, in grado di ridurre notevolmente la probabilità di controlli di rischio.

Metodo di richiesta

Per utilizzare il servizio di proxy cellulare, è possibile prima andare alla 「pagina di richiesta」 per fare la richiesta, la prima richiesta ha un credito gratuito di 1 punto. Se non si è ancora effettuato il login, si verrà automaticamente reindirizzati alla pagina di login, dopo aver effettuato il login si può continuare con la richiesta.

Metodo di utilizzo

Dopo aver completato la richiesta, è possibile controllare il risultato della propria richiesta nella 「console」, come mostrato nell’immagine: Cliccando su 「Credentials」, è possibile visualizzare il nome utente e la password per utilizzare il servizio di proxy cellulare, separati da due punti, dove il nome utente è di 8 caratteri e la password è di 32 caratteri, come mostrato nell’immagine: Questo proxy cellulare mobile è un proxy rotante, quindi durante l’uso è sufficiente impostare un indirizzo proxy fisso e una porta, l’indirizzo e la porta del proxy sono rispettivamente cellular.proxy.acedata.cloud e 30000, questo proxy supporta i protocolli HTTP/HTTPS/SOCKS e può essere utilizzato per richiedere siti web che utilizzano i protocolli HTTP e HTTPS.

Test dei comandi

Una volta ottenuti il nome utente e la password del proxy, il modo più semplice per testare è utilizzare il comando curl, se non è installato, fare riferimento a https://curl.se/ per l’installazione. Se il nome utente e la password del proxy attuale sono 1f78266a:eff0896726224fa2a99fe82dd1f07562, possiamo utilizzare il seguente comando curl per testare:
curl -x 1f78266a:eff0896726224fa2a99fe82dd1f07562@cellular.proxy.acedata.cloud:30000 https://ipinfo.io
Qui utilizziamo il parametro -x di curl per specificare l’indirizzo del proxy, il protocollo del proxy è di default HTTP/HTTPS, l’URL richiesto è https://ipinfo.io, questo sito può restituire l’indirizzo IP reale della richiesta e la regione in cui si trova l’IP.
Nota: il nome utente e la password sopra potrebbero essere non validi, si prega di sostituirli con il proprio nome utente e password.
Il risultato dell’esecuzione è il seguente:
{
  "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"
}
Si può notare che il campo country restituito è CN, che rappresenta la Cina, e org è China Mobile, che rappresenta la rete mobile cinese, confermando che si tratta di un’uscita di proxy cellulare. Se si esegue nuovamente, si possono ottenere risultati diversi, ogni richiesta ha un’uscita IP casuale.

Integrazione del codice

Di seguito viene mostrato un esempio in Python per dimostrare come impostare il proxy rotante cellulare:
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)

Qui dichiariamo prima l’URL del proxy e lo definiamo come variabile proxy, il protocollo è http, seguito dal nome utente e dalla password del proxy rotante (cioè il nome utente e la password mostrati nella console, separati da due punti), seguito da un simbolo @, e poi dall’indirizzo e dalla porta del proxy. Successivamente, dichiariamo una variabile proxies, configurando due coppie chiave-valore, con i nomi delle chiavi rispettivamente http e https, i cui valori sono entrambi proxy, rappresentando che per i siti web che utilizzano i protocolli HTTP e HTTPS, si utilizza il proxy definito dalla variabile proxy per effettuare le richieste. Infine, definiamo un ciclo di tre iterazioni per testare il proxy, dove l’URL richiesto è https://ipinfo.io, questo sito può restituire l’indirizzo IP reale della richiesta e la regione in cui si trova l’IP. Il risultato dell’esecuzione è il seguente:
{
  "ip": "39.144.18.26",
  "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"
}
{
  "ip": "39.144.18.26",
  "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"
}
{
  "ip": "39.144.182.55",
  "city": "Zhanjiang",
  "region": "Guangdong",
  "country": "CN",
  "loc": "21.2339,110.3875",
  "org": "AS24445 Henan Mobile Communications Co.,Ltd",
  "postal": "524000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
Si può vedere che ogni volta che si esegue il risultato ottenuto dall’IP proxy è casuale e che la regione dell’IP proviene effettivamente da un traffico mobile reale. Naturalmente, il metodo di impostazione del proxy sopra descritto è in realtà un modo relativamente semplice di configurazione. In realtà, il codice sopra è equivalente a impostare un’intestazione aggiuntiva - Proxy Authorization durante la richiesta, quindi il codice sopra può essere riscritto come segue:
import requests
import base64

proxy_host = 'cellular.proxy.acedata.cloud'
proxy_port = '30000'
proxy_username = '{proxy_username}' # 8 caratteri di nome utente
proxy_password = '{proxy_password}' # 32 caratteri di password

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)

Si può vedere che qui abbiamo impostato il nome utente e la password del proxy tramite l’intestazione di richiesta Proxy-Authorization (che deve essere codificata in Base64), e l’effetto dell’esecuzione di questo codice è lo stesso. Per altre lingue, come JavaScript con axios, è possibile utilizzare un metodo di impostazione simile:
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 caratteri di nome utente
const proxy_password = "{proxy_password}"; // 32 caratteri di password

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));
}
L’effetto dell’esecuzione è lo stesso. Per i metodi di impostazione in altre lingue, si prega di fare riferimento al testo sopra e riscrivere autonomamente.

Acquista di più

Se il tuo piano è esaurito, devi acquistare di più per continuare a utilizzare questo servizio proxy. Per acquistare di più, vai alla «pagina di richiesta» e clicca direttamente sul pulsante «Acquista di più» per selezionare, più acquisti singoli, più il prezzo è conveniente.