2013-05-25 6 views
7

Ich habe ein einfaches Ziel: Laden Sie Webseiten entweder mit phantom.js (out of the box) oder casper.js (schön und einfacher), aber mit Proxy und drehen Sie es von einer Liste, wenn die aktuelle schlecht ist (dh Webseitenlasten fehlschlagen oder so ähnlich Das).Phantom.js/Casper.js mit rotierendem Proxy?

Ich weiß, dass casper.js hat --proxy param, aber es diktiert den Benutzer, nur einen Proxy anzugeben und es während der Laufzeit zu verwenden.

Frage 1 ist: Wie Proxy proaktiv im laufenden Betrieb zu drehen?

Ich habe etwas Forschung und fand diese node-requester, aber es ist nicht mit casper.js integriert. Ich habe versucht, nur die Proxy-Funktion in der code zu extrahieren, aber nicht wirklich verstanden, wie es in der kurzen Zeit funktioniert (ich bin nicht so schlau, denke ich).

Also Frage # 2: Gibt es eine einfache Implementierung von Proxy-Rotation, die entweder mit phantom.js oder casper.js funktioniert?

Ich bevorzuge die Phantasie casper.js obwohl aber auch mit phantom.js blank gehen wird.

Antwort

6

Ich hatte das gleiche Problem vor einer Weile, ich arbeitete mit PhantomJS. Die Lösung, die wir am Ende hatten, war, PhantomJS als Kindprozess eines größeren Java/Scala-Servers auszuführen, der dann Fehler behandelte und bei Bedarf die verschiedenen Proxies zuwies (durch erneutes Ausführen mit verschiedenen Parametern im --proxy arg).

+0

Es ist ein paar Jahre her, gibt es heute eine bessere Lösung? – 3zzy