Dieser Code wird weiterhin die gleiche Website auf einer Schleife aus einer Liste von tausend Seiten herunterladen. Konnte keinen Weg finden. Was ich gegoogelt habe, könnte ein Problem mit Split sein.PhantomJS Herunterladen von vielen Websites beginnt die gleiche Website nach ersten Downloads zu kopieren
var fs = require('fs');
var pageContent = fs.read('list.txt');
var arrdata = pageContent.split(/[\n]/);
var system = require('system');
var page = require('webpage').create();
var args = system.args;
var imagelink;
var content = " ";
function handle_page(i){
var imageLink = arrdata[i];
page.open(imageLink, function(){
fs.write("file"+i+".txt", page.content, 'w');
handle_page(i+1);
});
}
handle_page(0);
Sie haben keine Stop-Bedingung wie [die Antwort] (http://StackOverflow.com/a/31422918/1816580) Sie haben diesen Code genommen, so dass es die letzte URL über und "öffnen" wird erneut. Das ist meine Vermutung. Auf welcher Seite fängt es falsch an? –
Es beginnt sich auf der 4. URL zu benehmen. Das Hinzufügen der Stoppbedingung hat keine Auswirkung auf das Ergebnis. – bon
Welche PhantomJS-Version verwenden Sie? Bitte registrieren Sie sich für die Ereignisse 'onConsoleMessage', 'onError',' onResourceError', 'onResourceTimeout' ([Beispiel] (https://gist.github.com/artjomb/4cf43d16ce50d8674fdf#file-1_phantomerrors-js)). Vielleicht gibt es Fehler. PhantomJS 2.x ist dafür bekannt, einige Fehler zu verstecken, also sollten Sie PhantomJS 1.9.8 ausprobieren. –