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.
- 1. Phantom.js/Casper.js mit rotierendem Proxy?
- 2. Unterschied zwischen socket.io und node.js
- 3. Node.js: Unterschied zwischen req.query [] und req.params
- 4. Unterschied zwischen node.js und chrome in v8
- 5. Unterschied zwischen console.log und sys.puts in node.js?
- 6. Unterschied zwischen path.normalize und path.resolve in Node.js
- 7. Unterschied zwischen app.js und index.js in Node.js
- 8. node.js Kind-Prozess - Unterschied zwischen Laich & Gabel
- 9. Unterschied zwischen addListener und On in eventEmitter Node.js
- 10. Node.js HTTP/NET - Unterschied zwischen einer Verbindung und einer Anfrage
- 11. Was ist der Unterschied zwischen util.error und console.error in Node.js?
- 12. Unterschied zwischen node.js HTTP Server, Anforderung und Antwort Timeouts
- 13. Unterschied zwischen Knoten js und express js
- 14. Pretend Firefox statt Phantom.js
- 15. setTimeout in Phantom.js
- 16. Unterschied zwischen Vorzeichen & und *?
- 17. VBA: Unterschied zwischen & und +
- 18. Unterschied zwischen "**/* /" und "** /"?
- 19. Unterschied zwischen $ # und $ {# @}
- 20. Unterschied zwischen = und: =
- 21. Unterschied zwischen '#', '%' und '$'
- 22. MySQL: Unterschied zwischen ', `,' und '
- 23. C++ Unterschied zwischen '//' und '///'
- 24. Unterschied zwischen String.Empty und ""
- 25. Unterschied zwischen `% in%` und `==`
- 26. Unterschied zwischen numpy.logical_and und &
- 27. Unterschied zwischen. und #
- 28. Unterschied zwischen // und http: //
- 29. Unterschied zwischen app.use und app.get in express.js
- 30. Unterschied zwischen -Wconversion zwischen gcc und g ++
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. –