Headless Browser und Scraping - Lösungen [geschlossen]

368

Ich versuche, eine Liste möglicher Lösungen für automatische Testanzüge für Browser und kopflose Browserplattformen zu erstellen, die zum Scraping geeignet sind.


BROWSER TESTING / SCRAPING:

  • Selen - Polyglot- Flaggschiff in der Browserautomatisierung, Bindungen für Python, Ruby, JavaScript, C #, Haskell und mehr, IDE für Firefox (als Erweiterung) für eine schnellere Testbereitstellung. Kann als Server fungieren und verfügt über unzählige Funktionen.

JAVASCRIPT

  • PhantomJS - JavaScript , kopfloses Testen mit Bildschirmaufnahme und Automatisierung, verwendet Webkit . Ab Version 1.8 ist die WebDriver-API von Selenium implementiert, sodass Sie jede WebDriver-Bindung verwenden können und die Tests mit Selenium kompatibel sind
  • SlimerJS - ähnlich wie PhantomJS, verwendet Gecko (Firefox) anstelle von WebKit
  • CasperJS - JavaScript , das sowohl auf PhantomJS als auch auf SlimerJS basiert, verfügt über zusätzliche Funktionen
  • Ghost Driver - JavaScript- Implementierung des WebDriver Wire Protocol für PhantomJS .
  • neuer PhantomCSS - CSS Regressionstest. Ein CasperJS-Modul zur Automatisierung visueller Regressionstests mit PhantomJS und Resemble.js .
  • neues WebdriverCSS - Plugin für Webdriver.io zur Automatisierung visueller Regressionstests
  • neuer PhantomFlow - Beschreiben und visualisieren Sie Benutzerflüsse durch Tests. Ein experimenteller Ansatz zum Testen von Webbenutzeroberflächen.
  • new trifleJS - portiert die PhantomJS-API zur Verwendung der Internet Explorer-Engine.
  • neue CasperJS IDE (kommerziell)

NODE.JS

  • Node-Phantom - Überbrückt die Lücke zwischen PhantomJS und node.js.
  • WebDriverJs - Selenium WebDriver-Bindungen für node.js von Selenium Team
  • WD.js - Knotenmodul für WebDriver / Selenium 2
  • yiewd - WD.js Wrapper mit den neuesten Harmony-Generatoren! Befreien Sie sich von der Rückrufpyramide mit Ertrag
  • ZombieJs - Wahnsinnig schnelle, kopflose Full-Stack-Tests mit node.js
  • NightwatchJs - Node JS-basierte Testlösung mit Selenium Webdriver
  • Chimäre - Chimäre: Kann alles, was PhantomJS tut, aber in einer vollständigen JS-Umgebung
  • Dalek.js - Automatisierte Cross-Browser-Tests mit JavaScript über Selenium Webdriver
  • Webdriver.io - bessere Implementierung von WebDriver-Bindungen mit vordefinierten 50+ Aktionen
  • Nightmare - Elektronenbrücke mit einer High-Level-API.
  • jsdom - Auf Web Scraping zugeschnitten . Ein sehr leichtes DOM, das in Node.js implementiert ist und Seiten mit Javascript unterstützt.
  • neue Puppenspieler - Knotenbibliothek, die eine allgemeine API zur Steuerung von Chrome oder Chromium bietet. Puppenspieler läuft standardmäßig kopflos.

WEB SCRAPING / MINING

  • Scrapy - Python , hauptsächlich ein Scraper / Miner - schnell, gut dokumentiert und kann mit Django Dynamic Scraper für nette Mining-Bereitstellungen oder Scrapy Cloud für PaaS-Bereitstellung (ohne Server) in Terminal- oder Server-Standalone-Prozessen verknüpft werden , kann mit Sellerie verwendet werden , der auf Twisted aufgebaut ist
  • Snailer - node.js Modul, noch nicht getestet.
  • Node-Crawler - Modul node.js , noch nicht getestet.

ONLINE-WERKZEUGE


VERWANDTE LINKS & RESSOURCEN

Fragen:

  • Gibt es eine reine Node.js-Lösung oder Nodejs für das PhanthomJS / CasperJS-Modul, die tatsächlich funktioniert und dokumentiert ist?

Antwort: Chimäre scheint in diese Richtung zu gehen, Kasse Chimäre

  • Andere Lösungen, die eine einfachere JavaScript-Injektion ermöglichen als Selen?

  • Kennen Sie reine Rubinlösungen ?

Antwort: Überprüfen Sie die von rjk erstellte Liste mit rubinbasierten Lösungen

  • Kennen Sie verwandte Technologien oder Lösungen?

Fühlen Sie sich frei, diese Frage zu bearbeiten und Inhalte hinzuzufügen, wie Sie möchten! Vielen Dank für Ihre Beiträge!

funktionsfähig
quelle
1
Ich weiß nicht, ob das das ist, was Sie wollen, aber ich mag dieses Modul zum Crawlen von Webseiten, zum Überprüfen des Doms und so weiter: npmjs.org/package/crawler . Es verwendet jsdom und Sie können jQuery als Selector-Engine verwenden. Dieser (der Crawler verwendet) sieht auch interessant aus: npmjs.org/package/snailer
hereandnow78
Ich habe viel Erfolg mit dem Node-Phantom-Modul gehabt. Es ist ziemlich einfach und ziemlich gut dokumentiert. Es unterstützt die Javascript-Injektion.
Josh C.
1
Ich bin sicher, Sie wissen, dass GhostDriver eine Implementierung von Selenium-Webdriver ist, die PhantomJS verwendet
Robbie Wareham
2
Dies könnte auch hilfreich sein: blog.screen-scraper.com/2010/06/28/…
Todd
1
Für visuelles Scraping und Vergleiche: PhantomCSS und PhantomFlow
FelipeAls

Antworten:

35

Wenn Ruby Ihr Ding ist, können Sie auch versuchen:

Nokogiri Edelstein kann auch zum Schaben verwendet werden:

Es gibt ein spezielles Buch darüber, wie man Nokogiri zum Scraping durch Packt Publishing verwendet

rkj
quelle
Watir ist tausendmal einfacher als die oben genannten Bibliotheken.
Pavan Katepalli
Für Python bietet die "Webbot" -Bibliothek umfangreiche Funktionen für eine einfache Webautomatisierung.
Natesh Bhat
11

http://triflejs.org/ ist wie Phantomjs, basiert jedoch auf IE

Federico Galassi
quelle
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert.
Sathish
5
Das hört sich normalerweise gut an, aber diese Frage ist selbst eine Sammlung von Ressourcen. Ein Link mit einer kurzen Beschreibung, die in die Liste aufgenommen werden soll, passt zum Format und ist sinnvoll.
Federico Galassi
7

Eine Art JS-basiertes Selen ist Dalek.js . Es zielt nicht nur auf automatisierte Frontend-Tests ab, Sie können damit auch Screenshots machen. Es verfügt über Web-Treiber für alle wichtigen Browser. Leider scheinen diese Web-Treiber eine Verbesserung wert zu sein (nur um Firefox nicht "fehlerhaft" zu sagen).

Jens Grochtdreis
quelle