2014-02-23 5 views

Antwort

18

Nodejs ist eine Skript-Engine, die auf der V8-Engine von Chrome basiert. Nodejs wird normalerweise als Webserver verwendet, aber es ist wirklich eine Skript-Engine, die beliebige Skripttypen ausführen kann. Der Knoten kann für das Web-Scraping verwendet werden, indem Anforderungen an andere Server gestellt und dann die Ausgabe analysiert wird.

Phantomjs ist ein kopfloser Webkit-Browser, was bedeutet, dass er wie ein Browser funktioniert, aber keine Benutzeroberfläche hat. Allein verwendet, bildet es einen Teil eines Web-Testing-Frameworks, aber ist viel besser mit ...

Casperjs ist ein Dienstprogramm auf Phantomjs gebaut, die Ihnen hilft, automatisierte Tests zu erstellen.

Ein automatischer Test kann als Web-Scraper gesehen werden, aber dafür ist er nicht wirklich geeignet. Webtests reagieren normalerweise empfindlich auf Änderungen auf der Seite, die gerade gecrapped wird, und müssen bei der DOM-Manipulation nicht schnell sein (da Sie dazu neigen, jeweils eine Seite zu bearbeiten).

Ich denke, Nodejs ist wahrscheinlich am besten für das, was Sie wollen.

+0

danke für das .. Wie Sie sagen, Web-Scraping ist meine Absicht. In kratzen Begriffe ist Scrapy besser oder node.js? – user1790836

+1

Nodejs wäre meine Stimme. Sie können http die Seite einer anderen Person anfordern, um zu kratzen, und Sie haben JavaScript, um am DOM zu arbeiten. Mit jquery und underscore-Bibliotheken (und anderen) haben Sie eine großartige Scraping-Einrichtung. Sie können es mit Testautomatisierung machen, aber Sie werden es biegen, wenn Sie mehr als ein Ziel schaben wollen. Überprüfen Sie, ob Ihr Host Nodejs ausführen kann. –

+0

Wenn JavaScript erforderlich ist, damit der Inhalt, den Sie scrapen, auf die Seite gelangt, reicht das Senden von HTTP-Anfragen und das Analysieren der Antworten nicht aus. Wenn Sie mit Node gehen, können Sie mit jsdom das DOM simulieren. Oder Sie könnten PhantomJS oder CasperJS (CasperJS ist Phantom + weitere Funktionen) verwenden, um einen Webbrowser nachzuahmen. Oder verwenden Sie Selenium WebDriver, um einen aktuellen Browser zu steuern. –

Verwandte Themen