[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.

Cheguei a pensar em Python pela questão de ser mais comum pra visualização de dados, mas não sabia como seria a performance e a complexidade da codificação pra fazer o webscrapper em si.
Se vc tem facilidade com python acho que vale testar. acho Puppeteer conveniente, provável que deva ser tão efetivo quanto as opções em Python. Ai vai da sua preferência de linguagem mesmo.

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.

Nesse caso, preciso de simulação do browser pois no site tem vários tipos de relatórios e utilizo os filtros pra listar somente um tipo específico, nesse primeiro momento. Além de ação de clique para abrir o relatório em um nova aba e coletar os dados. Vou dar uma estudada nessa abordagem com Axios e Cheerio (que eu não conhecia). Pode ser uma solução legal pro que eu preciso. Além disso, vou precisar trabalhar com rotinas diárias ou por períodos, pra poder coletar mais assertivamente os dados pois não tem um horário específico pros relatórios serem inseridos no repositório, mas isso já é um outro ponto.