Muszę przeanalizować (po stronie serwera) duże ilości stron HTML.
Wszyscy zgadzamy się, że regexp nie jest właściwą drogą.
Wydaje mi się, że javascript jest natywnym sposobem parsowania strony HTML, ale założenie to opiera się na kodzie po stronie serwera, który ma wszystkie możliwości DOM, jakie javascript ma w przeglądarce.
Czy Node.js ma wbudowaną taką możliwość?
Czy jest lepsze podejście do tego problemu, analizowanie kodu HTML po stronie serwera?
źródło
Użyj Cheerio . Nie jest tak rygorystyczny jak jsdom i jest zoptymalizowany pod kątem skrobania. Jako bonus, używa selektorów jQuery, które już znasz.
źródło
jsdom
jest na to zbyt wolny: /Użyj htmlparser2 , jest to znacznie szybsze i całkiem proste. Zobacz ten przykład użycia:
https://www.npmjs.org/package/htmlparser2#usage
A demo na żywo tutaj:
http://demos.forbeslindesay.co.uk/htmlparser2/
źródło
Htmlparser2 firmy FB55 wydaje się być dobrą alternatywą.
źródło
jsdom jest zbyt rygorystyczna, aby robić jakiekolwiek rzeczy z prawdziwego skrobania ekranu, ale beautifulsoup nie dławi się złymi znacznikami.
node-soupselect jest portem pięknej zupy Pythona na nodejs i działa pięknie
źródło