quer ajudar? Aqui estão as suas opções:","Crunchbase","Sobre nós","Obrigado a todos pelo fantástico apoio!","Ligações rápidas","Programa de afiliados","Prémio","ProxyScrape ensaio premium","Tipos de proxy","Países substitutos","Casos de utilização de proxy","Importante","Política de cookies","Declaração de exoneração de responsabilidade","Política de privacidade","Termos e condições","Redes sociais","Facebook","LinkedIn","Twitter","Quora","Telegrama","Discórdia","\n © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Bélgica | VAT BE 0749 716 760\n"]}
Quando extrai dados de sítios Web de grande escala, é muito provável que não tenha tido de enfrentar um CAPTCHA para provar que é um ser humano. Como web scraper, já deve saber porque é que os profissionais de cibersegurança foram obrigados a inventá-los. Foram o resultado de os seus bots automatizarem infinitos pedidos de acesso a sítios Web.
Quando extrai dados de sítios Web de grande escala, é muito provável que não tenha tido de enfrentar um CAPTCHA para provar que é um ser humano. Como web scraper, já deve saber porque é que os profissionais de cibersegurança foram obrigados a inventá-los. Eles resultaram do facto de os seus bots automatizarem infinitos pedidos de acesso a sítios Web. Assim, até os utilizadores genuínos tiveram de se confrontar com CAPTCHAs que aparecem sob diferentes formas. No entanto, é possível contornar os CAPTCHAs, quer seja um web scraper ou não, o que seria o objetivo deste artigo. Mas primeiro, vamos ver o que são CAPTCHAs.
Os CAPTCHAs são normalmente accionados para detetar tráfego não natural no site. Para contornar esta restrição, os utilizadores preferem uma solução que possa decifrar todos estes códigos CAPTCHA e aceder ao site como um verdadeiro ser humano. Uma solução para contornar os captchas é o Capsolver. A utilização de proxies com os pedidos da web também ajudará os utilizadores a aparecerem como um tráfego natural.
CAPTCHA significa Completely Automated Public Turing Test to tell Computers and Humans Apart (Teste de Turing Público Completamente Automatizado para Diferenciar Computadores e Humanos). É um acrónimo bastante longo, não é? Agora pode estar a perguntar-se o que significa a última parte deste acrónimo, Teste de Turing - bem, é um teste simples para determinar se um humano ou um bot está a interagir com uma página Web ou um servidor Web.
Afinal, um CAPTCHA diferencia os humanos dos bots, ajudando os analistas de segurança cibernética a proteger os servidores Web de ataques de força bruta, DDoS e, nalgumas situações, de scraping da Web.
Vamos descobrir como os CAPTCHAs diferenciam os humanos dos bots.
Pode encontrar os CAPTCHAs nos formulários de um sítio Web, incluindo formulários de contacto, de registo, de comentários, de inscrição ou de check-out.
Os CAPTCHAs tradicionais incluem uma imagem com letras esticadas ou desfocadas, números ou ambos numa caixa com uma cor de fundo ou um fundo transparente. Depois, o utilizador tem de identificar os caracteres e escrevê-los no campo de texto que se segue. Este processo de identificação de caracteres é mais fácil para os humanos, mas um pouco complicado para um bot.
A ideia de desfocar ou distorcer o texto CAPTCHA é dificultar a identificação dos caracteres pelo bot. Em contrapartida, os seres humanos podem interpretar e intercetar caracteres em vários formatos, como diferentes tipos de letra, caligrafia, etc. Dito isto, nem todos os humanos conseguem resolver um CAPTCHA à primeira tentativa. De acordo com a investigação, 8% dos utilizadores escrevem mal na primeira tentativa, enquanto 29% falham se os CAPTCHAs forem sensíveis às maiúsculas e minúsculas.
Por outro lado, alguns bots avançados conseguem intercetar letras distorcidas com a ajuda da aprendizagem automática ao longo dos anos. Como resultado, algumas empresas, como a Google, substituíram os CAPTCHAs convencionais por CAPTCHAs sofisticados. Um desses exemplos é o ReCAPTCHA, que descobrirá na secção seguinte.
O ReCAPTCHA é um serviço gratuito que o Google oferece. Pede aos utilizadores que assinalem caixas em vez de escreverem texto, resolverem puzzles ou equações matemáticas.
Um ReCAPTCHA típico é mais avançado do que as formas convencionais de CAPTCHAs. Utiliza imagens e textos do mundo real, como semáforos nas ruas, textos de jornais antigos e livros impressos. Como resultado, os utilizadores não têm de confiar em CAPTCHAs da velha guarda com texto desfocado e distorcido.
Existem três tipos significativos de testes ReCAPTCHA para verificar se o utilizador é um ser humano ou não:
Estes são os ReCAPTCHAs que pedem aos utilizadores que assinalem uma caixa de verificação, "Não sou um robô", como na imagem acima. Embora possa parecer a olho nu que até um robot conseguiria realizar este teste, são tidos em conta vários factores:
Se o ReCAPTCHA não conseguir verificar se o utilizador é humano, ser-lhe-á apresentado outro desafio.
Estes ReCAPTCHAs fornecem aos utilizadores nove ou dezasseis imagens quadradas, como se pode ver na imagem acima. Cada quadrado representa uma parte de uma imagem maior ou imagens diferentes. O utilizador deve selecionar quadrados que representem objectos específicos, animais, árvores, veículos ou semáforos.
Se a seleção do utilizador corresponder às selecções de outros utilizadores que realizaram o mesmo teste, o utilizador é verificado. Caso contrário, o ReCAPTCHA apresentará um teste mais difícil.
Sabia que o ReCAPTCHA pode verificar se é humano ou não sem utilizar caixas de verificação ou quaisquer interacções do utilizador?
Certamente que o faz, considerando o histórico de interação do utilizador com os sítios Web e o comportamento geral do utilizador enquanto está online. Na maioria dos cenários, com base nestes factores, o sistema seria capaz de determinar se o utilizador é um bot.
Se não o fizer, voltará a utilizar qualquer um dos dois métodos anteriormente mencionados.
Os CAPTCHAs podem ser accionados se um sítio Web detetar actividades invulgares que se assemelhem a um comportamento de bot. Esse comportamento invulgar inclui pedidos ilimitados em fracções de segundo e cliques em ligações a uma taxa muito superior à dos humanos.
Assim, alguns sítios Web teriam automaticamente CAPTCHAs para proteger os seus sistemas.
No que diz respeito aos ReCAPTCHAs, não é exatamente claro o que os desencadeia. No entanto, as causas gerais são os movimentos do rato, o histórico de navegação e o rastreio de cookies.
Agora tem uma visão geral clara do que são CAPTCHAs e Rechaptchas, como funcionam e o que os acciona. Agora é altura de ver como os CAPTCHAs afectam a recolha de dados da Web.
Os CAPTCHAs podem dificultar a raspagem da Web, uma vez que os bots automatizados efectuam a maior parte das operações de raspagem. No entanto, não fique desanimado. Como mencionado no início deste artigo, existem maneiras de superar os CAPTCHAs ao raspar a web. Antes de chegarmos a elas, vamos concentrar nossa atenção no que você precisa saber antes de fazer o scraping.
Em primeiro lugar, deve certificar-se de que não permite que o seu Web scraper/crawler envie demasiados pedidos num curto período de tempo. A maioria dos sítios Web menciona nas suas páginas de termos e condições o número de pedidos que o sítio Web permite. Certifique-se de que os lê antes de começar a fazer scraping.
Quando o utilizador se liga a um sítio Web, envia informações sobre o seu dispositivo para o sítio Web de ligação. Este pode utilizar estas informações para personalizar o conteúdo de acordo com as especificações do seu dispositivo e para efetuar o rastreio métrico. Assim, quando descobrem que os pedidos são do mesmo dispositivo, qualquer pedido que envie posteriormente será bloqueado.
Assim, se tiver desenvolvido o web scraper/crawler por si próprio, poderá alterar as informações do cabeçalho para cada pedido que o seu scraper fizer. Assim, o sítio Web de destino parecerá que está a receber vários pedidos de diferentes dispositivos. Leia aqui para obter mais informações sobre cabeçalhos HTTP.
Outro facto que deve ter em atenção é que o sítio Web alvo não colocou o seu endereço IP na lista negra. É provável que o seu endereço IP seja colocado na lista negra se enviar demasiados pedidos com o seu scraper/crawler.
Para ultrapassar o problema acima referido, pode utilizar um servidor proxy, uma vez que este mascara o seu endereço IP.
A rotação dos cabeçalhos HTTP e dos proxies (mais sobre isto na próxima secção) com um pool garantirá que vários dispositivos acedam ao site a partir de locais diferentes. Assim, deve poder continuar a fazer scraping sem interrupções devido aos CAPTCHAs. Dito isto, deve garantir que não está a prejudicar o desempenho do Web site de forma alguma.
No entanto, é necessário ter em atenção que os proxies não o ajudarão a ultrapassar os CAPTCHAs nos formulários de registo, alteração de palavra-passe, check-out, etc. Ele só pode ajudá-lo a superar as capturas que os sites acionam devido ao comportamento do bot. Para evitar CAPTCHAs nesses formulários, analisaremos os solucionadores de CAPTCHA em uma próxima seção.
Para além dos factores-chave acima referidos, é necessário conhecer os CAPTCHAs abaixo indicados quando se faz web scraping com um bot:
Honeypots - O Honeypot será um tipo de CAPTCHA incluído num campo de formulário HTML ou numa hiperligação, mas a sua visibilidade é ocultada com CSS. Por isso, antes de fazer com que o seu bot recolha o conteúdo, certifique-se de que as propriedades CSS do elemento estão visíveis.
CAPTCHA de correspondência/palavra - Estes são os CAPTCHAs em equações matemáticas, como resolver "3+7", por exemplo. Também pode haver puzzles de palavras para resolver.
Início de sessão nas redes sociais - Alguns sítios Web exigem que o utilizador inicie sessão com a sua conta do Facebook, por exemplo. No entanto, não são muito populares porque a maioria dos administradores sabe que as pessoas teriam relutância em iniciar sessão com as suas contas de redes sociais.
Controlo do tempo - Estes CAPTCHAs monitorizam a rapidez com que o utilizador executa uma ação específica, como o preenchimento de um formulário, para determinar se se trata de um humano ou de um bot.
Tal como mencionado na secção anterior, é necessário rodar os proxies sempre que enviar um pedido ao sítio Web alvo. É uma forma de evitar os CAPTCHAs que são activados durante o scrapeamento. Nestas circunstâncias, é necessário utilizar proxies IP residenciais limpos.
Quando rodar os proxies, será difícil para o sítio Web alvo determinar a sua pegada IP. Isto porque, para cada pedido, apareceria o endereço IP dos proxies em vez do seu.
Uma vez que irá utilizar um raspador para raspar a Web, terá de disfarçar o agente do utilizador para um navegador Web popular ou para bot-bots suportados, como os bots de motores de busca que os sítios Web reconhecem.
A simples alteração do agente do utilizador não será suficiente, pois é necessário ter uma lista de cadeias de caracteres de agente do utilizador e depois rodá-las. Esta rotação fará com que o sítio Web alvo o veja como um dispositivo diferente quando, na realidade, é um dispositivo que está a enviar todos os pedidos.
Como prática recomendada para esta etapa, seria ótimo manter uma base de dados de agentes de utilizadores reais. Além disso, elimine os cookies quando já não precisar deles.
Um método mais simples e pouco técnico para resolver um CAPTCHA seria utilizar um serviço de resolução de CAPTCHA. Estes utilizam Inteligência Artificial (IA), Aprendizagem Automática (MI) e um conjunto de outras tecnologias para resolver um CAPTCHA.
Alguns dos principais solucionadores de CAPTCHA atualmente existentes no sector são o Capsolver e o Anti-CAPTCHA.
Quando se deixa o scraper aceder diretamente a um URL a cada fração de segundo, o sítio web recetor fica desconfiado. Como resultado, o sítio web alvo accionaria um CAPTCHA.
Para evitar esse cenário, pode definir o cabeçalho do referenciador para que pareça ter sido referenciado a partir de outra página. Isso reduziria a probabilidade de ser detectado como um bot. Em alternativa, pode fazer com que o bot visite outras páginas antes de visitar a ligação pretendida.
Os honeypots são elementos ocultos numa página Web que os especialistas em segurança utilizam para apanhar bots ou intrusos. Apesar de o navegador renderizar o seu HTML, as suas propriedades CSS estão definidas como ocultas. No entanto, ao contrário dos humanos, o código do pote de mel seria visível para os bots quando estes recolhem os dados. Como resultado, caíram na armadilha montada pelo honeypot.
Por isso, tem de se certificar de que verifica se as propriedades CSS de todos os elementos de uma página Web não estão ocultas ou invisíveis antes de começar a fazer scraping. Só quando tiver a certeza de que nenhum dos elementos está oculto é que define o seu bot para a recolha de dados.
Este artigo ter-lhe-ia dado uma ideia abrangente de como evitar CAPTCHAs ao fazer scraping na Web. Evitar um CAPTCHA pode ser um processo complicado. No entanto, com o uso de técnicas específicas discutidas neste artigo, você pode desenvolver o bot de forma a evitar CAPTCHAs.
Esperamos que tire partido de todas as técnicas apresentadas neste artigo.