Uma excelente maneira de criar conjuntos de dados é raspando a web. Torna-se especialmente relevante quando fontes como o Common Crawl ou APIs oficiais falham em atender aos requisitos do seu projeto (por exemplo, os dados não são recentes o suficiente ou o Twitter avalia você). No entanto, a raspagem da web vem com seus próprios desafios, como CAPTCHAs e restrições geográficas. É aqui que nosso herói - proxies - entra em cena.
Um servidor proxy é outro computador (um servidor, telefone ou mesmo dispositivo IoT) que permite acessar a Web por meio dele. Dessa forma, você obtém um novo endereço IP de um local opcionalmente diferente. Proxies são muito parecidos com VPNs — a diferença é que você pode usar muitos deles ao mesmo tempo, em vez de apenas uma ou duas conexões.
Os servidores proxy estão se tornando cada vez mais necessários à medida que os sites implementam limitação de taxa e restrições mais sofisticadas para impedir o acesso automatizado. Às vezes, por boas razões, embora muitas vezes seja para proteger seus interesses comerciais ou monopolizar dados. Proxies não resolverão todos os seus problemas; mas, além da higiene básica, como usar agentes de usuário realistas, eles são a maneira mais eficaz de manter seu web scraper funcionando.
Este guia lhe dará uma compreensão sólida dos servidores proxy no contexto de web scraping. Ele vem com conhecimento teórico junto com alguns dados práticos que coletamos para nossa pesquisa anual de mercado de proxy .
Quando os web scrapers (as pessoas) precisam de proxies, seu primeiro impulso é experimentar uma lista de proxy gratuita. Essas listas estão disponíveis on-line publicamente; a maioria dos proxies neles vem de servidores vulneráveis ou mal gerenciados.
Um grande problema com as listas de proxy gratuitas é que você nunca sabe quem as administra. O operador pode ter intenções maliciosas, que podem se manifestar na injeção de anúncios, registro de tráfego e outras coisas desagradáveis. Isso parece assustador, mas é improvável que o afete muito como cientista de dados: você provavelmente não irá configurar proxies no nível do sistema operacional ou usá-los para acessar sua conta bancária.
Uma questão mais chata - embora realista - é que os proxies gratuitos simplesmente não são confiáveis.
Eles raramente ficam online por muito tempo; os que funcionam são insuportavelmente lentos porque têm centenas de inquilinos; e como eles têm centenas de inquilinos, esses proxies rapidamente se identificam com qualquer site relevante. Não é uma ótima ferramenta para trabalhar.
Por esse motivo, recomendo fortemente pagar por um serviço de proxy comercial.
Os servidores proxy geralmente são categorizados pela origem do IP. Para fins de web scraping, você provavelmente escolherá entre três tipos: datacenter, residencial ou proxies ISP (também chamados de residenciais estáticos).
Esses proxies são hospedados em servidores em data centers. Eles podem ser instâncias do Amazon Cloud Services (AWS) ou vir de qualquer outro provedor de hospedagem em nuvem. Os bancos de dados IP veem os proxies do datacenter como pertencentes a intervalos de hospedagem ou datacenter .
Os proxies de datacenter geralmente são executados em hardware poderoso e conexão com a Internet, para que você possa coletar muitos dados rapidamente. Eles podem ser uma escolha muito eficiente para alvos que não monitoram a reputação de IP, mas lutam com sites que o fazem.
Esses proxies vêm de dispositivos residenciais de pessoas reais (daí o nome). Por exemplo, eles podem ser executados em um laptop Windows, telefone Android ou uma geladeira inteligente em Wi-Fi. Os bancos de dados IP classificam os proxies residenciais como conexões fixas ou móveis .
Proxies residenciais sempre vêm em grandes conjuntos de endereços de todo o mundo. Eles são menos previsíveis do que os IPs do datacenter porque dependem da qualidade da conexão e da disponibilidade do dispositivo host. No entanto, esse recurso torna os proxies residenciais muito eficazes com todos os tipos de sites, pois eles se parecem com visitantes regulares.
Esses proxies são hospedados em servidores em centros de dados , mas registrados em provedores de serviços de Internet para consumidores como a Verizon. Isso é obtido assinando um contrato com um ISP e fazendo com que ele anuncie IPs em sua rede. Idealmente, os bancos de dados de IP devem identificar esses proxies como conexões fixas ou móveis . Às vezes, porém, ISPs regionais menores ainda são classificados como centros de dados.
Os proxies ISP retêm as qualidades dos proxies de datacenter, mas são capazes de raspar com mais eficiência devido a uma melhor reputação de IP.
Neste ponto, você pode estar pensando: “Uau, espere um minuto! telefones Android? Soa terrivelmente como um botnet! Isso é legal? Esta é uma boa pergunta a fazer e mostra que você se importa. Muitos não.
O fato é que existe uma linha tênue entre um servidor proxy comercial e um botnet. Aplica-se menos a proxies de datacenter, onde a cadeia de suprimentos é bastante clara: um host de nuvem compra IPs, os coloca em um servidor e aluga os endereços para um provedor de proxy. Mas a questão da ética se torna muito relevante com redes de proxy residenciais.
Sem se aprofundar muito no assunto, os proxies residenciais podem ser obtidos de várias maneiras. O método mais popular é por meio de SDKs em aplicativos de desktop e móveis. Este vídeo dá exemplos concretos de como isso se parece.
Outra maneira é trocar tráfego diretamente por um serviço (como uma VPN gratuita, consulte BrightVPN) ou dinheiro (usando aplicativos de compartilhamento de largura de banda como o Honeygain).
Em qualquer caso, o ônus recai sobre o provedor de proxy para garantir que a origem do IP esteja ciente do acordo e consinta com ele. Você deve encontrar informações sobre fontes de proxy e abordagens de uso no site do provedor. Isso reduz significativamente a chance de você usar um botnet.
Os servidores proxy podem ter configurações diferentes com base na locação e na rotação .
O primeiro critério descreve quantas pessoas podem usar o mesmo servidor proxy ao mesmo tempo. Todas as listas de proxy gratuitas têm potencialmente centenas de inquilinos, enquanto os provedores de proxy comerciais impõem limites. No jargão do mercado, compartilhado ou semi-compartilhado significa que você usará o mesmo servidor proxy com várias outras pessoas (geralmente de uma a quatro). Privado ou dedicado significa que você usará sozinho os proxies para todos ou determinados domínios.
A capacidade de escolher a locação é um recurso dos proxies de datacenter e ISP, pois os provedores têm propriedade total sobre eles. Não está disponível com proxies residenciais, mas também é menos relevante - os usuários residenciais têm padrões de navegação mais naturais e são menos propensos a sobrecarregar os sites com solicitações.
O segundo critério, rotação, mostra se os servidores proxy mudam automaticamente. Aqueles que não costumam vir em listas de proxy formatadas como IP:Porta (1). Os que têm o formato endpoint:port (2):
192.168.0.1:10000
pt.proxyprovider.net:10000
O endpoint funciona como um gateway para o pool de proxy do provedor. Ele roteia automaticamente suas solicitações por meio de diferentes endereços no back-end. Mesmo quando um endereço IP muda, o endpoint permanece o mesmo.
Os proxies rotativos são muito convenientes para web scraping, pois você obtém acesso a um número efetivamente infinito de IPs (de milhares a milhões). No entanto, esses serviços geralmente cobram pelo gasto de tráfego, enquanto as listas de proxy estáticos tendem a oferecer tráfego ilimitado.
Vamos comparar os tipos de proxy discutidos com base em suas várias características.
No caso de redes proxy rotativas, os proxies residenciais custam cerca de oito a 10 vezes mais do que os endereços de datacenter e um pouco menos do que as redes proxy ISP rotativas.
As redes de proxy estático geralmente cobram por endereço IP. Comparados aos proxies ISP, os servidores proxy de datacenter custam duas a três vezes menos, dependendo de quanto você compra.
Apesar de rotear o tráfego por meio de dispositivos de usuário final imprevisíveis, as principais redes proxy residenciais funcionam muito bem. Para fins de web scraping (quando o IP gira com cada solicitação de conexão), eles transferem dados quase tão bem quanto os proxies do datacenter:
Também não conseguimos ver uma grande diferença na latência. Abaixo estão os tempos de resposta para solicitações feitas ao servidor mais próximo de um CDN global (o tamanho da resposta é de vários kilobytes) e Amazon (cerca de 1 MB de tamanho da resposta):
Uma área em que os proxies de datacenter e ISP dominam é a taxa de transferência. Eles têm tubos mais largos para transferência de dados. Alguns proxies residenciais podem ser muito rápidos, mas você também pode encontrar servidores que não atingem 1 Mbps. Há muito menos previsibilidade.
Os proxies de datacenter e ISP podem permanecer ativos quase 24 horas por dia, 7 dias por semana, ficando offline apenas quando ocorre uma interrupção ou manutenção. O tempo de atividade de um proxy residencial depende de vários fatores, como se ele vem de um dispositivo Windows ou Android. Em qualquer caso, é muito mais curto e menos confiável em comparação com proxies baseados em servidor.
Escrevemos um script que pingava um banco de dados IP a cada 20 segundos para ver com que frequência um endereço IP residencial mudaria. Aqui estão alguns resultados:
Os proxies de datacenter lutam contra sites protegidos ou altamente populares, como Google ou mídia social. Isso pode ser um pouco mitigado escolhendo IPs dedicados com um histórico de uso mais limpo.
Às vezes, conectar-se a partir de um intervalo de IP do datacenter é suficiente para que os sites não o deixem entrar. Nesses casos, o único recurso é usar um tipo de proxy diferente.
Os proxies ISP têm uma reputação de IP melhor por padrão, portanto, enfrentam menos escrutínio inicial. No entanto, eles ainda têm padrões de navegação menos realistas em comparação com um endereço residencial verdadeiro. Os servidores proxy residenciais formam grandes pools, são muito diversos e compartilham o histórico de navegação com pessoas reais. Essas qualidades os tornam muito difíceis de distinguir do público mais amplo do site.
Os proxies de datacenter e ISP são hospedados em datacenters e o número de datacenters disponíveis é limitado. O local mais frequente é provavelmente Ashburn, embora os principais provedores possam obter IPs de datacenter de dezenas de países. No entanto, se você precisar de endereços em localidades menores e, especialmente, em cidades que não sejam capitais, não terá sorte.
Os proxies residenciais não têm essas restrições - desde que haja um dispositivo e um participante disposto, qualquer pessoa de qualquer lugar pode participar. Consequentemente, os principais provedores podem oferecer IPs em todos os países com segmentação por cidade, ASN e, às vezes, até mesmo CEP.
Com base em nossa pesquisa com os principais provedores de proxy, a maioria escolheu os proxies residenciais como seu produto mais popular. Apenas dois provedores especificaram servidores proxy de datacenter e nenhum proxies ISP.
Os proxies de datacenter têm caído nos últimos anos, pois grandes alvos como Amazon, Google, LinkedIn e outros reforçaram seus sistemas de segurança. Os proxies ISP têm a capacidade de substituí-los, mas sua aceitação é prejudicada por dificuldades de fornecimento - é difícil conseguir ISPs confiáveis a bordo.
Mas chega de teoria. Como você pode aplicar esse conhecimento ao seu projeto? Modelei vários cenários com sugestões de servidor proxy.
Para manter este artigo livre de interesses comerciais, não mencionarei provedores específicos. Se você quiser algumas recomendações, comparamos os principais fornecedores em nosso site (Isenção de responsabilidade: temos um relacionamento afiliado com a maioria dessas empresas. No entanto, isso não tem impacto em nossos relatórios de mercado.)
Exemplo: raspar um portal de notícias menor, um site de comércio eletrônico ou até mesmo um mecanismo de pesquisa que não seja o Google.
Recomendação: Proxies rotativos de datacenter. Você pode obter acesso a um pool de 2.000 a 100.000 IPs rotativos por US$ 0,7/GB ou menos. Você não terá que se preocupar em substituir IPs bloqueados, e o custo do tráfego é baixo o suficiente para uma extração de dados séria.
Exemplo: baixar vídeos de um serviço de streaming ou fotos de um agregador de imagens para fins de arquivamento.
Recomendação: centro de dados estático ou proxies ISP. Eles são rápidos e não contam gastos com trânsito. Escolha proxies de datacenter quando o site permitir e proxies ISP caso contrário.
Exemplo: pesquisar menções de marca em toda a web.
Recomendação: centro de dados estático ou proxies ISP. O rastreamento requer muitos dados, então é melhor escolher um tipo de proxy que não use tráfego como métrica principal. Além disso, mesmo um número finito de IPs o levará longe quando você alternar os alvos.
Exemplo: extrair anúncios de emprego do LinkedIn, informações da empresa do G2 ou postagens com hashtag de uma rede de mídia social.
Recomendação: procurações residenciais. Com um número efetivamente infinito de IPs, você não correrá o risco de banir seus proxies. Além disso, você terá uma taxa de sucesso mais alta em comparação com outros tipos de proxy.
Exemplo: Acompanhamento de movimentos de preços de ações.
Recomendações: Proxies do datacenter se o site permitir; caso contrário, proxies ISP**.** Sua velocidade de conexão rápida garante que você extraia os dados conforme aparecem.
Exemplo: monitoramento de posições de páginas de mecanismos de pesquisa para consultas localizadas do Google.
Recomendação: proxies residenciais, pois oferecem suporte à filtragem de IP no nível da cidade.
Este artigo forneceu uma breve introdução aos servidores proxy para fins de web scraping. Depois de lê-lo, você será capaz de distinguir entre os principais tipos de proxy, configurações e qual configuração beneficiaria mais seu projeto de ciência de dados.