A automação de processos já é comum nas empresas, muitas vezes se contrata uma ferramenta especializada ou o time interno desenvolve as soluções necessárias. Porém, nem sempre é uma tarefa simples.
A automação da coleta de dados em portais públicos, por exemplo, pode ser um grande desafio para uma equipe pequena. São centenas de sites diferentes e, dependendo do volume de dados, o IP pode ser bloqueado, por exemplo.
Para te auxiliar nessa tarefa, explicamos os 5 problemas mais comuns e alguns tratamentos de erros para a coleta de dados em portais públicos.
O processo por trás da automação é conhecido como ETL (Extract, Transform and Load ou Extração, Transformação e Carregamento), é necessário conhecer alguma linguagem de programação para criar um robô que irá acessar o site, digitar as informações pedidas, clicar nos botões, ler a página de resultados e entregar para você os dados estruturados para análise.
É nesse momento que alguns problemas aparecem e podem impedir ou dificultar a automação da coleta de dados em portais públicos. Entenda como!
A primeira coisa a fazer para automatizar a coleta de dados em portais públicos é uma análise do HTML da página que você fará a raspagem. Sendo exatamente esse um dos desafios, porque cada página possui um código diferente.
Alguns sites terão a marcação de dados bem estruturada, tornando a tarefa de encontrar as estruturas alvo muito mais simples. Enquanto em outros, será necessário um trabalho extra devido à organização do código.
Existem diferenças também na forma de entrega dos dados e essa página também deverá ser analisada caso a caso para entender o funcionamento. E aqui vale o mesmo que foi dito anteriormente, alguns serão mais ou menos complexos que outros sites.
Porém, o grande desafio mesmo é a alteração nos sites que podem quebrar o seu código. Caso o seu robô de coleta de dados pare de funcionar sem motivo aparente, é bom olhar a fonte para identificar se o site sofreu alguma atualização.
Ao coletar dados públicos em volume e recorrência, é comum acontecer o bloqueio de IP devido à identificação de uma atividade “anormal” no site. É aí que entram os servidores proxy.
Proxy é um servidor que atua como um intermediário entre o seu dispositivo e a internet. Ele mascara o IP, evitando o banimento e fornecendo anonimato, consequentemente, impede a interrupção da coleta de dados que você está fazendo. Além disso, o anonimato que o uso dos servidores fornece, possibilita a coleta de dados simultâneos.
A utilização de servidor proxy rotativo é o mais comum na raspagem de dados. Isso porque eles possibilitam o uso de diferentes IPs cada vez que um site é acessado, dificultando o bloqueio.
Saiba mais: Proxy na coleta de dados: o que é e por que utilizar?
Captcha é o acrônimo em inglês para “Completely Automated Public Turing test to tell Computers and Humans Apart”, ou – no bom português – Teste Turing público completamente automatizado para diferenciar computadores e humanos.
Assim como sugere o nome, tem o objetivo de identificar se a ação em um site está sendo realizada por uma pessoa ou um robô. Caso seja um robô, o acesso é bloqueado. O uso de captcha é cada vez mais comum em sites para impedir atividades suspeitas e ameaças.
Porém, quando precisamos usar um robô para automatizar tarefas repetitivas e facilitar o dia a dia da empresa, o captcha é um problema que precisa ser contornado.
Para isso, temos três opções:
Os tipos mais comuns são: reCAPTCHA, FunCaptcha, Captcha matemático, Captcha em texto, Captcha temporal, Captcha de identificação de imagens e Honeypot Captcha.
Saiba mais: Tudo o que você precisa saber sobre captcha (e sua relação com a coleta de dados).
Alguns dados podem estar em áreas restritas no site do governo, ou seja, necessitam autenticar no sistema através de login e senha, token ou certificado digital para ter acesso aos dados.
Nesse caso é necessário criar essa opção no seu código para passar as credenciais com informações reais, autenticar e acessar a parte restrita do site, replicando um processo humano de login.
Depois de contornar todos os problemas para automação da coleta de dados em portais públicos, pode acontecer do robô chegar até o site e não conseguir acessar os dados. Isso porque o site pode estar fora do ar, então você deve considerar uma solução para mais esse problema.
No código é necessário prever a situação de tentativas de acesso, definir a quantidade de vezes que será feita e o tempo entre cada uma das tentativas.
A automação de processos é um importante aliado das empresas, porém nem sempre é fácil desenvolver crawlers e existem muitos desafios para automação da coleta de dados em portais públicos.
Além disso, o processo pode sair caro com a contratação de empresas de proxy, fornecedores de captcha e uma equipe qualificada para o desenvolvimento dos robôs e manutenção. Por isso, pode ser interessante a contratação de uma empresa especializada em crawlers, entenda qual a melhor opção para o seu negócio: API ou desenvolvimento interno: como escolher a melhor opção.