Ist es möglich, eine JavaScript-Engine mit Ruby und Nokogiri zu verbinden?
Ich schreibe eine Anwendung, um einige Websites zu crawlen und Daten von ihnen zu entfernen. Ich benutze Ruby, Curl und Nokogiri, um dies zu tun. In den meisten Fällen ist es unkompliziert und ich muss nur eine URL pingen und die HTML-Daten analysieren. Das Setup funktioniert einwandfrei.
In einigen Szenarien rufen die Websites jedoch Daten auf der Grundlage von Benutzereingaben auf einigen Optionsfeldern ab. Dadurch wird JavaScript aufgerufen, das weitere Daten vom Server abruft. Die generierte URL und die veröffentlichten Daten werden durch JavaScript-Code bestimmt.
Ist es möglich zu verwenden:
Eine JavaScript-Bibliothek zusammen mit diesem Setup, die in der Lage wäre, das JavaScript in der HTML-Seite für mich auszuführen?
Gibt es neben der Verwendung einer anderen Bibliothek eine Integration oder eine Möglichkeit für die Kommunikation zwischen HTML- und JS-Bibliotheken? Wenn zum Beispiel eine Schaltfläche angeklickt wird, muss Nokogiri JavaScript aufrufen und anschließend muss das JavaScript Nokogiri aktualisieren.
Falls mein Ansatz nicht der beste zu sein scheint, was wäre Ihr Vorschlag, einen Crawler + Scraper mit Ruby im Web zu erstellen?
BEARBEITEN: Es sieht so aus, als ob Punkt 1 mit therubyrace möglich ist, da er die V8-Engine in Ihren Code einbettet. Gibt es aber eine Alternative zu 2?