[DÚVIDA] Quais são os métodos de Webscraping mais conhecidos? E qual mais eficaz, na sua opnião?
Recentemente iniciei um projeto pessoal pra coletar e organizar dados de um site de documentos, onde tem dados publicos relacionados a relatórios gerenciais voltados pra atividades financeiras.
Mesmo com pouco conhecimento, iniciei o projeto com NodeJs, utilizando o Puppeteer pra fazer a navegação na página e automação na coleta dos dados.
Pro propósito inicial, funcionou bem tranquilo, mas não sei se foi feito da melhor forma. Sou desenvolvedor mobile (Flutter/Dart majoritariamente, um pouco de Kotlin e arranhando no Swift), mas já passeei um pouco por Asp.NET Core, Java com SpringBoot e já fui desenvolvedor COBOL por um bom tempo 🦖 (por quase 6 anos, mas só tenho 31).
Há um tempo (bastante tempo), trabalhei com testes automatizados, utilizando Java com Selenium, o que também seria uma opção, mas também não sei se a mais adequada.
Mesmo com a curva de aprendizado do NodeJs sendo baixa e me ajudando a iniciar o projeto, gostaria de saber a opnião da galera:
Vocês conhecem alguma linguagem/framework que facilitaria nessa tarefa específica de Webscrapping?
Sabemos que não existe "bala de prata", mas também sabemos que pra atividades específicas, certas linguagens apresentam melhor performance.
Trabalho em um hospital publico e tinhamos a necessidade de cruzar informações de sistemas diferentes.
Utilizo 3 rotinas em nodejs/puppeteer em uma máquina Positivo de 2014, core i5. Rodo em cima do PM2, ainda na mesma máquina to com algumas aplicações em express e um robô de whats que passa as informações de ocupações de leito dos gestores.
Acho efetivo e intuitivo o suficiente, eu poderia migrar pra algo em python, mas o atrito pra aprender a linguagem iria reduzir minha produtividade.
Atualmente trabalho com raspagem de dados, e lá na firma nos usamos Python. Mais especificamente as libs Requests e BeautifulSoup e em alguns casos usamos Selenium.
No geral, usar Python foi conveniente por outros sistemas usarem o mesmo, e pela facilidade/produtividade. Mas no geral eu não diria que tem a linguagem certa, acho que boa parte das linguagens vai ter um lib para lidar com requisições e outra para lidar com parse de Html, então vai do que você se sente mais confortável. Em Js eu preferiria uma abordagem com Axios e Cheerio se claro, fosse possível raspar o site assim. Alguns sites de fato precisam da simulação de um browser para raspar os dados.