Provedores de proxy anunciam o tamanho do pool: milhões de IPs, centenas de milhões. O tamanho do pool importa, mas ele esconde uma segunda questão que importa tanto quanto para a confiabilidade: de quantas redes diferentes esses endereços vêm. Um pool de dez milhões de IPs em um punhado de redes se comporta de maneira muito diferente de um espalhado por milhares.
Todo endereço IP pertence a uma rede operada por uma organização, identificada por um número de sistema autônomo (ASN). Para proxies residenciais, o ASN costuma ser um provedor de internet para consumidores. Este artigo explica por que a distribuição de um pool entre ASNs importa, como medi-la a partir de uma amostra de saídas e como interpretar os números.
Por que a diversidade de ASN importa
Sites e sistemas antibot raramente julgam um endereço IP isoladamente. Eles o julgam dentro de um contexto, e a rede é uma das peças de contexto mais fortes que eles têm.
- Bloqueios distribuídos por rede. Quando um site vê abuso vindo de muitos endereços de uma mesma rede, ele pode limitar a taxa ou desafiar a rede inteira. Um pool concentrado em poucos ASNs fica exposto a isso: uma decisão no nível da rede afeta uma grande parcela do seu tráfego.
- A reputação é compartilhada. Endereços na mesma rede herdam parte de sua reputação. Um pool diverso é menos afetado quando a reputação de uma rede cai.
- Redes de hospedagem entregam o jogo. Um pool “residencial” com uma parcela significativa de endereços em redes de hospedagem ou de datacenter não é totalmente residencial, e os sites tratam esses endereços de acordo.
- Realismo local exige redes locais. Se você coleta dados como vistos a partir de um país ou cidade, as saídas devem estar distribuídas entre os provedores que as pessoas de lá realmente usam.
É por isso também que mirar uma rede específica é útil para algumas tarefas. Nosso guia sobre segmentação por ASN para proxies residenciais aborda quando fixar as requisições em um único provedor, que é o caso oposto: concentração deliberada para um teste específico.
Como deve ser “diverso”
Mercados reais de internet são concentrados. Na maioria dos países, alguns grandes provedores atendem a maioria das residências, com uma longa cauda de redes regionais e móveis menores atrás deles. Um pool residencial saudável reflete esse formato: alguns grandes ISPs de consumo carregando uma boa parcela das saídas, e muitas redes menores atrás deles.
Então o objetivo não é ter parcelas perfeitamente iguais entre as redes. São duas coisas:
- Nenhuma rede única domina além do que o mercado de internet daquele país explicaria.
- Existe uma longa cauda: muitas redes distintas, de modo que um bloqueio em qualquer uma delas afete apenas uma pequena parcela do tráfego.
Como medir isso
Você não consegue ver o pool inteiro de um provedor, mas pode amostrá-lo. Envie requisições pelo gateway rotativo, registre de qual IP e rede cada requisição sai, e calcule métricas de concentração sobre a amostra.
Quatro métricas cobrem a maior parte do que importa:
| Métrica | O que mede | Como interpretar |
|---|---|---|
| ASNs distintos | Quantas redes aparecem na amostra | Mais é melhor; cresce com o tamanho da amostra |
| Parcela top-1 e top-5 | A parcela de saídas na maior rede e nas cinco maiores | Menor significa menos exposição às decisões de uma única rede |
| Índice Herfindahl-Hirschman (HHI) | A soma das parcelas ao quadrado, de próximo de 0 (espalhado) a 1 (uma única rede) | A medida padrão de concentração de mercado |
| Número efetivo de ASNs | 1 / HHI: a quantos redes de tamanho igual a amostra se comporta de forma equivalente | O número único mais intuitivo |
Adicione mais uma verificação que não é sobre concentração: a parcela de saídas em redes não residenciais. Para um pool residencial, isso deve ser próximo de zero.
O módulo abaixo amostra saídas através de um proxy usando ip-info.com, nossa API gratuita de geolocalização de IP, que retorna o ASN, o nome da rede e se é uma rede residencial ou de hospedagem de cada endereço, e calcula as métricas:
from collections import Counter
import requests
def sample_exit(proxy_url, get=requests.get):
"""One exit through a rotating proxy: its IP, network (ASN) and network type."""
info = get("http://ip-info.com/json", proxies={"http": proxy_url, "https": proxy_url}, timeout=20).json()
return {"ip": info["ip"], "asn": info["asn"], "as_name": info["as_name"], "user_type": info.get("user_type")}
def diversity(exits):
"""How spread out a sample of exits is across networks."""
exits = list({e["ip"]: e for e in exits}.values()) # count each IP once
counts = Counter(e["asn"] for e in exits)
n = len(exits)
shares = sorted((c / n for c in counts.values()), reverse=True)
hhi = sum(s * s for s in shares) # Herfindahl-Hirschman index, 0 to 1
return {
"unique_ips": n,
"asns": len(counts),
"top1_share": round(shares[0], 3),
"top5_share": round(sum(shares[:5]), 3),
"hhi": round(hhi, 4),
"effective_asns": round(1 / hhi, 1), # as many equal-sized networks as this
"non_residential_share": round(sum(e["user_type"] != "residential" for e in exits) / n, 3),
}
Duas amostras ilustrativas de 1.000 saídas mostram como um pool amplo e um restrito se apresentam de forma diferente (dados sintéticos, não provedores reais):
import random
from asn_diversity import diversity
random.seed(7)
# Illustrative samples of 1,000 exits from two pools (synthetic, not real providers)
broad = [{"ip": f"ip{i}", "asn": random.choice(range(60)), "user_type": "residential"} for i in range(1000)]
narrow = [{"ip": f"ip{i}", "asn": random.choice([1, 1, 1, 1, 2, 2, 3, 4]), "user_type": "residential"}
for i in range(1000)]
print("broad ", diversity(broad))
print("narrow", diversity(narrow))
broad {'unique_ips': 1000, 'asns': 60, 'top1_share': 0.028, 'top5_share': 0.125, 'hhi': 0.0176, 'effective_asns': 57.0, 'non_residential_share': 0.0}
narrow {'unique_ips': 1000, 'asns': 4, 'top1_share': 0.506, 'top5_share': 1.0, 'hhi': 0.3466, 'effective_asns': 2.9, 'non_residential_share': 0.0}
O pool amplo se comporta como 57 redes de tamanho igual, e sua maior rede carrega menos de 3% das saídas. O pool restrito se comporta como menos de três: metade de todas as saídas está em uma rede, e cada saída está em uma de quatro redes. No pool restrito, um único bloqueio no nível da rede no maior ASN interromperia metade das suas requisições.
Obtendo uma amostra justa
Algumas precauções mantêm a medição honesta:
- Amostre por país. Diversidade só significa algo dentro de um mercado. Misturar países infla a contagem de ASNs sem dizer nada sobre nenhum deles em particular.
- Use requisições suficientes. O número de ASNs distintos continua crescendo com o tamanho da amostra, então compare pools no mesmo tamanho de amostra. Mil saídas por país é um ponto de partida razoável; as parcelas e o HHI se estabilizam mais rápido que a contagem.
- Conte cada IP uma vez. Pools rotativos podem retornar o mesmo endereço mais de uma vez. O módulo acima elimina duplicatas por IP.
- Distribua a amostra ao longo do tempo. Pools residenciais mudam ao longo do dia conforme dispositivos entram e saem. Amostrar ao longo de várias horas dá um retrato mais fiel do que uma única rajada.
- Use a mesma fonte de consulta para cada pool. Diferentes bancos de dados de geolocalização podem atribuir um endereço a redes ligeiramente diferentes.
O que isso significa ao escolher um provedor
Tamanho do pool e diversidade de ASN respondem a perguntas diferentes. O tamanho diz quantos endereços você pode conseguir; a diversidade diz o quanto seu tráfego está exposto às decisões de uma única rede. Ao avaliar provedores, pergunte por ambos, e verifique com uma amostra própria nos países que importam para você.
O mesmo raciocínio se aplica a IPs fixos. Se você compra proxies de ISP para sessões longas, distribuí-los entre vários provedores e cidades evita colocar toda identidade em uma única rede. Nosso guia sobre como comprar proxies de ISP sem desperdiçar dinheiro inclui um script para verificar um lote de IPs de teste, e nossos proxies de ISP permitem escolher a cidade e o ISP para cada IP. A forma como um provedor obtém seus endereços também molda a diversidade; nosso artigo explicativo sobre como provedores obtêm IPs residenciais de forma ética aborda o que perguntar.
Perguntas frequentes
O que é diversidade de ASN em uma rede de proxies?
O quanto os endereços IP de um pool de proxies estão distribuídos entre diferentes redes (sistemas autônomos). Um pool diverso tem muitas redes sem que nenhuma domine; um pool concentrado tem a maioria dos endereços em poucas.
Por que a diversidade de ASN importa para scraping?
Sites frequentemente agem contra redes inteiras, não endereços isolados. Se a maioria das suas saídas compartilha uma rede, um bloqueio no nível da rede pode afetar uma grande parcela das suas requisições.
Como medir a diversidade de ASN?
Envie uma amostra de requisições pelo proxy, registre o ASN de cada saída, e calcule a parcela das maiores redes, o índice Herfindahl-Hirschman e o número efetivo de redes. Amostre por país, ao longo do tempo, e no mesmo tamanho para cada pool que você comparar.
Um pool de proxies maior é sempre mais diverso?
Não. Um pool grande ainda pode estar concentrado em poucas redes. Tamanho do pool e diversidade de rede são medidas separadas.
Conclusão
Contagens de IP medem o tamanho de um pool; a diversidade de ASN mede sua resiliência. Amostre saídas por país, conte cada IP uma vez, e observe o número efetivo de redes, a parcela da maior rede e a parcela de saídas não residenciais. Um pool residencial saudável reflete o mercado local de internet: alguns grandes ISPs de consumo e uma longa cauda atrás deles, sem que nenhuma rede única carregue uma parcela desproporcional do seu tráfego.