Ich muss (serverseitig) große Mengen von HTML-Seiten analysieren.
Wir sind uns alle einig, dass Regexp nicht der richtige Weg ist.
Es scheint mir, dass Javascript die native Methode zum Parsen einer HTML-Seite ist, aber diese Annahme beruht darauf, dass der serverseitige Code alle DOM-Fähigkeiten von Javascript in einem Browser besitzt.
Hat Node.js diese Fähigkeit eingebaut?
Gibt es einen besseren Ansatz für dieses Problem, indem HTML auf der Serverseite analysiert wird?
quelle
Verwenden Sie Cheerio . Es ist nicht so streng wie jsdom und für das Scraping optimiert. Verwendet als Bonus die bereits bekannten jQuery-Selektoren.
quelle
jsdom
ist zu langsam dafür: /Verwenden Sie htmlparser2 , es ist schneller und unkomplizierter. Konsultieren Sie dieses Anwendungsbeispiel:
https://www.npmjs.org/package/htmlparser2#usage
Und die Live-Demo hier:
http://demos.forbeslindesay.co.uk/htmlparser2/
quelle
Htmlparser2 von FB55 scheint eine gute Alternative zu sein.
quelle
jsdom ist zu streng, um echte Bildschirmkratzer zu machen, aber beautifulsoup verschluckt sich nicht an schlechten Markups.
Node-Soupselect ist eine Portierung von Pythons Beautifulsoup in NodeJS und funktioniert wunderbar
quelle