Tenho duas duvidas.
´Duvida 1:
- No curso web-scraping, no exercício de coleta de info do site transparencia, caso eu queira uma query que busque os dados do bolsa familia mas dentro de um período, como ficaria o list da query?
Ao inspecionar o GET, me pareceu que estaria dentro do elemento mesAno do list.
Request URL:http://transparencia.gov.br/beneficios/consulta/resultado?paginacaoSimples=true&tamanhoPagina=15&offset=0&direcaoOrdenacao=desc&colunaOrdenacao=mesAno&de=01%2F01%2F2019&ate=31%2F01%2F2020&colunasSelecionadas=linkDetalhamento%2ClinguagemCidada%2CmesAno%2Cuf%2Cmunicipio%2Cvalor&_=1586641400560
´Duvida 2:
Como fazer o scraping de páginas que possuem mecanismos de reCAPTCHA com ou sem desafio?
Espero que tenha sido claro nas dúvidas.
Obrigado e abraço,
Fabio
Olá Fabio, obrigado pelas dúvidas
Com relação à dúvida 1, pesquisar um conjunto de datas depende da disponibilidade da própria API de lidar com requisições assim. No caso da API da transparência, isso não é possível. Então, a única forma de resolver seria criar um vetor com N datas e, em seguida, fazer N requisições usando o httr
. Para isso, você pode fazer um purrr::map()
, por exemplo. Falaremos mais sobre iterar scrapers no curso de Web Scraping 2.
Com relação à sua dúvida 2, captcha é um problema recorrente em web scraping. Primeiro, precisamos separar os tipos de captcha em 1) captchas com letras distorcidas numa imagem, 2) o reCaptcha v2 (botão de eu não sou robô) e 3) o reCaptcha v3 (não mostra o botão explicitamente). Para (1), existem iniciativas como o decryptr, que são modelos estatísticos baseados em redes neurais convolucionais para ler e classificar as imagens, preenchendo o captcha automaticamente. No caso (2), esses modelos podem até funcionar por algum tempo (existem vários exemplos na internet, inclusive utilizando o áudio), mas são instáveis ao longo do tempo, pois a Google, dona do reCaptcha, atualiza os desafios periodicamente (e eles sabem muito bem como criar tarefas difíceis de resolver por modelos estatísticos!). No caso (3), além das dificuldades do (2), o site fará uma série de verificações da sua sessão e dificultará as tasks sempre que desconfiar que o acesso está sendo feito por um robô.
Para (2) e (3), existem sites na internet que oferecem serviços manuais de resolução de reCaptchas, ou seja, seres humanos fazendo os cliques para seu robô. Eu pessoalmente sou contra a utilização desses serviços, mas isso varia de pessoa para pessoa. No meu caso, pelo menos, quando vejo que o site que desejo scrapear tem reCaptcha, eu tento buscar outros meios de conseguir os dados.
3 curtidas