Saltar para o conteúdo principal
Na luta cada vez mais intensa entre crawlers e anti-crawlers, os sistemas de detecção de risco das principais websites e aplicativos estão se tornando cada vez mais robustos, sendo um dos métodos a proibição de IPs. Para resolver o problema da proibição de IPs, uma maneira eficaz é configurar um proxy. Após a configuração do proxy, o crawler pode usar o IP do proxy para disfarçar seu verdadeiro endereço IP, conseguindo assim superar as limitações impostas pelos sistemas anti-crawlers. No entanto, a qualidade dos proxies varia bastante. Por exemplo, a maioria dos proxies gratuitos disponíveis no mercado são praticamente inutilizáveis ou já estão bloqueados, enquanto alguns proxies pagos comuns também foram adicionados às listas negras de risco de várias websites e aplicativos. Portanto, atualmente, há cada vez menos proxies de alta qualidade disponíveis para a coleta de dados. Os principais tipos de proxies de qualidade no mercado atualmente são proxies dedicados, proxies ADSL e proxies móveis celulares. Este serviço de proxy é baseado em uma rede móvel celular (4G, 5G) e oferece um serviço de proxy rotativo. Este documento irá apresentar o método de solicitação e uso deste serviço.

Proxy Móvel Celular

O proxy móvel celular é, na verdade, um serviço de proxy construído com base em dados móveis, onde todos os IPs de proxy são IPs reais de celulares. Este tipo de proxy é relativamente pouco utilizado na área de crawlers, portanto, a probabilidade de ser bloqueado é menor, tornando este tipo de proxy muito eficaz para a coleta de dados de websites e aplicativos com forte controle de risco. Este serviço de proxy é construído sobre uma grande piscina de celulares controlados em massa, onde todo o tráfego é retransmitido através de dados móveis genuínos, suportando quase todos os pedidos de dados de websites e aplicativos disponíveis no mercado, com qualidade de proxy extremamente alta, capaz de reduzir significativamente a probabilidade de controle de risco.

Método de Solicitação

Para usar o serviço de proxy celular, você pode primeiro ir à 「página de solicitação」 para fazer a solicitação, onde a primeira solicitação tem um crédito gratuito de 1 ponto. Se você ainda não estiver logado, será redirecionado automaticamente para a página de login. Após fazer o login, você pode continuar com a solicitação.

Método de Uso

Após a solicitação, você pode verificar o resultado da sua solicitação no 「painel de controle」, como mostrado na imagem: Clique em 「Credenciais」 para visualizar o nome de usuário e a senha para usar o serviço de proxy celular, separados por dois pontos, onde o nome de usuário tem 8 caracteres e a senha tem 32 caracteres, como mostrado na imagem: Este proxy móvel celular é um proxy rotativo, portanto, ao usá-lo, você só precisa configurar um endereço de proxy fixo e uma porta. O endereço e a porta do proxy são cellular.proxy.acedata.cloud e 30000, respectivamente. Este proxy é compatível com os protocolos HTTP/HTTPS/SOCKS e pode ser usado para solicitar websites que utilizam os protocolos HTTP e HTTPS.

Teste de Comando

Com o nome de usuário e a senha do proxy, a maneira mais conveniente de testar é através do comando curl. Se ainda não estiver instalado, consulte https://curl.se/ para instalação. Supondo que o nome de usuário e a senha do proxy atual sejam 1f78266a:eff0896726224fa2a99fe82dd1f07562, podemos usar o seguinte comando curl para testar:
curl -x 1f78266a:eff0896726224fa2a99fe82dd1f07562@cellular.proxy.acedata.cloud:30000 https://ipinfo.io
Aqui, usamos o parâmetro -x do curl para especificar o endereço do proxy. O protocolo do proxy é, por padrão, HTTP/HTTPS, e a URL solicitada é https://ipinfo.io, que pode retornar o IP real que fez a solicitação e a localização do IP.
Nota: O nome de usuário e a senha acima podem ser inválidos, substitua-os pelo seu nome de usuário e senha.
O resultado da execução é o seguinte:
{
  "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"
}
Como pode ser visto, o campo country do resultado retornado é CN, representando a China, e org é China Mobile, representando a rede móvel da China, confirmando que é realmente uma saída de proxy celular. Se você executar novamente, poderá obter resultados diferentes, pois cada solicitação utiliza um IP de saída aleatório.

Integração de Código

Abaixo, como exemplo, mostramos como configurar o proxy rotativo celular usando 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)

Aqui, primeiro declaramos a URL do proxy e a definimos como a variável proxy, onde o protocolo é http, seguido pelo nome de usuário e senha do proxy rotativo (ou seja, o nome de usuário e a senha exibidos no painel de controle, separados por dois pontos), seguido por um símbolo @, e depois o endereço e a porta do proxy. Em seguida, declaramos uma variável proxies, configurando dois pares chave-valor, onde os nomes das chaves são http e https, e seus valores são ambos proxy, representando que para websites que utilizam os protocolos HTTP e HTTPS, a solicitação será feita usando o proxy definido na variável proxy. Depois, definimos um loop de três vezes para testar o proxy, onde a URL solicitada é https://ipinfo.io, que pode retornar o IP real que fez a solicitação e a localização do IP. O resultado da execução é o seguinte:
{
  "ip": "39.144.18.26",
  "city": "Xangai",
  "region": "Xangai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Xangai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.144.18.26",
  "city": "Xangai",
  "region": "Xangai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS9808 China Mobile Communications Group Co., Ltd.",
  "postal": "200000",
  "timezone": "Asia/Xangai",
  "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/Xangai",
  "readme": "https://ipinfo.io/missingauth"
}
Pode-se ver que, a cada execução, o resultado obtido do IP do proxy é aleatório, e a localização do IP realmente provém de tráfego de celular real. Claro, a forma de configuração do proxy mencionada acima é, na verdade, uma configuração relativamente simples. Na verdade, o código acima é equivalente a definir um cabeçalho adicional - Proxy Authorization durante a solicitação, portanto, o código acima também pode ser reescrito da seguinte forma:
import requests
import base64

proxy_host = 'cellular.proxy.acedata.cloud'
proxy_port = '30000'
proxy_username = '{proxy_username}' # 8 caracteres de nome de usuário
proxy_password = '{proxy_password}' # 32 caracteres de senha

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)

Pode-se ver que aqui estamos configurando o nome de usuário e a senha do proxy através do cabeçalho de solicitação Proxy-Authorization (que precisa ser codificado em Base64), e o efeito da execução desse código é o mesmo. Para outras linguagens, como o axios do JavaScript, também é possível usar uma configuração semelhante:
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 caracteres de nome de usuário
const proxy_password = "{proxy_password}"; // 32 caracteres de senha

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));
}
O efeito da execução é o mesmo. Para métodos de configuração em outras linguagens, consulte o texto acima e reescreva conforme necessário.

Comprar mais

Se o seu pacote já estiver esgotado, você precisará comprar mais para continuar usando o serviço de proxy. Para comprar mais, vá para a 「página de solicitação」 e clique diretamente no botão 「Comprar mais」 para selecionar, quanto mais você comprar de uma só vez, mais barato será o preço unitário.