Acredito que as ferramentas que o JS
e o Python
oferecem são suficientes para a maioria dos casos. Dão suporte para requisições async
, por exemplo, e isso pode melhorar bastante o seu processo de coleta. Além da vastidão de libs que auxiliam, de maneira eficiente, nesse processo.
Não sei se é o seu caso, mas há alguns outros pontos relevantes para a discussão:
- análise da aplicação: uma análise um pouco mais profunda pode lhe levar a um caminho mais simples e curto do que o scraping. um exemplo é a busca, lá no DevTools mesmo, por respostas no formato JSON. isso pode ser um indício de que a aplicação principal esteja fazendo requisições para uma api pública.
- ferramenta correta: esse tópico DEVE ser uma consequência do primeiro tópico. usar o
Selenium
/Puppeteer
para um site com API disponível, mesmo que sem documentação oficial, é um desperdício de recursos. por isso, concordo querequests
eBeautifulSoup
, noPython
, e as funções nativas noJS
, resolvem a maioria dos problemas deweb scraping
. - otimização do código: não adianta utilizar a "melhor linguagem" com as "melhores libs" e não se preocupar em como transformar e armazenar os dados. isso se torna uma preocupação maior ainda se for um grande volume de dados.
Por experiência própria, acredito que esses pontos são fundamentais quando o assunto é coleta de dados em geral.