Eu preciso analisar (lado do servidor) grandes quantidades de páginas HTML.
Todos concordamos que regexp não é a melhor opção aqui.
Parece-me que o javascript é a maneira nativa de analisar uma página HTML, mas essa suposição se baseia no código do lado do servidor com toda a capacidade DOM que o javascript tem dentro de um navegador.
O Node.js tem essa capacidade embutida?
Existe uma abordagem melhor para esse problema, analisando HTML no lado do servidor?
fonte
Use Cheerio . Não é tão rígido quanto jsdom e é otimizado para raspagem. Como bônus, use os seletores jQuery que você já conhece.
fonte
jsdom
é muito lento para isso: /Use htmlparser2 , seu caminho mais rápido e direto. Consulte este exemplo de uso:
https://www.npmjs.org/package/htmlparser2#usage
E a demonstração ao vivo aqui:
http://demos.forbeslindesay.co.uk/htmlparser2/
fonte
Htmlparser2 por FB55 parece ser uma boa alternativa.
fonte
jsdom é muito restrito para fazer qualquer tipo de captura de tela real, mas beautifulsoup não se engasga com marcação ruim.
node-soupselect é um port do beautifulsoup do python para o nodejs, e funciona perfeitamente
fonte