Jak najskuteczniej analizować stronę internetową za pomocą Node.js.
Muszę przeanalizować prostą stronę internetową i pobrać dane z html, takie jak „src”, „data-attr” itp. Jak mogę to zrobić najbardziej wydajnie, korzystając z Node.js? Jeśli to pomoże, używam Node.js 0.8.x.
P.S. to jest
stronie internetowej
http://tunes.io/
które rozbieram. Chcę uzyskać listę aktualnych utworów i stworzyć własną aplikację html5 do słuchania na urządzeniach mobilnych.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
4 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
PhantomJS
http://phantomjs.org/
jeśli czyszczona witryna internetowa intensywnie wykorzystuje JavaScript. Należy pamiętać, że PhantomJS nie jest Node.js. To zupełnie inne środowisko wykonawcze JavaScript. Możesz zintegrować się przez
phantomjs-node
https://github.com/sgentle/phantomjs-node
lub
node-phantom
https://github.com/alexscheelmeyer/node-phantom
ale oba są niezłymi hakerami. YMMV jest z nimi. Unikaj wszystkiego, co dotyczy jsdom. Przyprawi cię o ból głowy - w tym
Zombie.js
http://zombie.labnotes.org/
.
Powinieneś użyć
Cheerio
https://github.com/MatthewMueller/cheerio
w połączeniu z
żądanie
https://github.com/mikeal/request... To powinno wystarczyć dla większości stron internetowych.
Napisałem post na blogu o używaniu Cheerio z prośbą:
szybkie i brudne skrobanie ekranu za pomocą Node.js,
http://procbits.com/2012/04/11 ... erio/
ale znowu, jeśli jest to intensywne korzystanie z JavaScript, użyj PhantomJS w połączeniu z
CasperJS
http://casperjs.org/
.
Mam nadzieję że to pomoże.
Fragment zawierający żądanie i powitanie:
Anonimowy użytkownik
Potwierdzenie od:
PhantomJS
http://phantomjs.org/... Tutaj
dokumentacja
http://code.google.com/p/phant ... ation
o używaniu go do czyszczenia ekranu.
Anonimowy użytkownik
Potwierdzenie od:
W przypadku ciężkich witryn JS użyj
Casper
http://casperjs.org/... Zapewnia duże abstrakcje nad duchami i obietnicami w stylu API. Zastanawiają się, jak zeskrobać razem w swoich dokumentach:
http://docs.casperjs.org/bath/last/short guide.html
http://docs.casperjs.org/en/latest/quickstart.html
.
Anonimowy użytkownik
Potwierdzenie od:
Ale nie wybrałbym Phantoma, ponieważ robi więcej niż zwykle chcesz, a cheerio jest szybsze.