Phantomjs: bestimmte Seite nicht öffnen

Ich bin derzeit am schreiben einer web-Anwendung, bei der einige web-scraping. Um dabei zu helfen, ich bin beschäftigt die Hilfe von phantomjs. Jedoch, bestimmte (aber nicht alle) web-Seiten Rückgabe eines status="fail".

Hier ist der code (Hinweis: Dies ist geschrieben in nodejs mit der Knoten-phantom-Bibliothek finden Sie hier: https://github.com/alexscheelmeyer/node-phantom. Während die syntax kann unterschiedlich sein, die Bibliothek tatsächlich arbeitet direkt mit phantomjs, so sollte es nicht sein, etwas zu tun anders:

phantom.create(function (err,ph) {
    ph.createPage(function (err,page) {
        page.onResourceError = function(errorData) {
            console.log('Unable to load resource (URL:' + errorData.url + ')');
            console.log('Error code: ' + errorData.errorCode + '. Description: ' + errorData.errorString);
        };
        page.onLoadFinished = function(status) {
            console.log('Status: ' + status);
            if(status==='success') {
                page.includeJs('http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', function () {
                    if(fetch_results) {
                        //THIS IS WHERE YOU WILL DO RESULTS SHIT
                        console.log("results page stuff entered");
                        page.render('phantomjs-test2.png');
                        ph.exit();
                    } else {
                        page.evaluate(function () {
                            //page evaluate stuff
                        }, function(err, result) {
                            console.log("entering here");
                            page.render('phantomjs-test.png');
                            if(!err) fetch_results = true;
                        });
                    }
                });
            } else {
                console.log(
                    "Error opening url \"" + page.reason_url
                    + "\": " + page.reason
                );
                console.log("Connection failed.");
                ph.exit();
            }
        }
        //page.open("https://www.google.com",function (err,status) {});
        page.open("https://www.pavoterservices.state.pa.us/Pages/PollingPlaceInfo.aspx",function (err,status) {});
    });
}, {parameters:{'ignore-ssl-errors':'yes'}});

Also für Seite.öffnen mit google.com die Seite lädt erfolgreich. Jedoch, mit der anderen url aufgeführt, es gibt den folgenden Fehler zurück:

 Unable to load resource (URL:https://www.pavoterservices.state.pa.us/Pages/PollingPlaceInfo.aspx);  Error code: 2. Description: connection closed;  Error opening url "undefined": undefined

Jede Hilfe, warum wird google geladen, aber nicht die url aufgeführt würde sehr geschätzt werden!

InformationsquelleAutor user3175505 | 2014-06-29
Schreibe einen Kommentar