Ich habe gelesen, dass diese drei für Web-Scraping verwendet werden. Aber was ist der Unterschied? In welcher Umgebung ist einer besser als der andere?Unterschied zwischen node.js, casper.js und phantom.js?
Antwort
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.
danke für das .. Wie Sie sagen, Web-Scraping ist meine Absicht. In kratzen Begriffe ist Scrapy besser oder node.js? – user1790836
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. –
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. –