2015-07-14 5 views
0

Вот URL Я пытаюсь загрузить с PhantomJS: http://shop.karinelecchi.fr/collections/jupes-robes/products/jalousiePhantomJS Url не сработал по неизвестной причине

Вот мой код:

var fs  = require("fs"); 
var system = require("system"); 

var page = require('webpage').create(); 
page.settings.userAgent = "Mozilla/5.0 (compatible; Googlebot/2.1;+http://www,google,com/bot.html)"; 
page.settings.loadImages = false; 
var url = "http://shop.karinelecchi.fr/collections/jupes-robes/products/jalousie"; 

page.onConsoleMessage = function(msg) { 
console.log(msg); 
}; 
page.open(url, function (status) { 
if (status !== 'success') { 
    console.log('Unable to load the address!'); 
    phantom.exit(); 
} else { 
    console.log('Yiha! load the address!'); 
    phantom.exit(); 
} 
}); 

Мой выход: «Невозможно загрузить адрес "

Любые догадки? Thx

+0

И каков ваш выход? Когда вы попросите о помощи, добавьте столько информации, сколько сможете. Вы не можете пойти к врачу, говоря «что-то мне больно» xD –

+0

Сделано! :) Я думал, что титула было достаточно ... – Zoomzoom

+0

Попробуйте PhantomJS 2, если вы этого не сделаете. –

ответ

2

Здесь у вас есть веб-сайт, который объясняет, как отследить URL-адрес нагрузки не удается: https://newspaint.wordpress.com/2013/04/25/getting-to-the-bottom-of-why-a-phantomjs-page-load-fails/

Только в случае, если сайт идет вниз, я собираюсь скопировать здесь важные детали о том, как отследить эти проблемы:

Просто перед вызовом page.open() добавьте следующий код:

page.onResourceError = function(resourceError) { 
    page.reason = resourceError.errorString; 
    page.reason_url = resourceError.url; 
}; 

Теперь вы можете распечатать причину для проблемы в вашем page.open() обратного вызова, например:

page.open(
    "http://www.nosuchdomain/", 
    function (status) { 
     if (status !== 'success') { 
      console.log(
       "Error opening url \"" + page.reason_url 
       + "\": " + page.reason 
      ); 
      phantom.exit(1); 
     } else { 
      console.log("Successful page open!"); 
      phantom.exit(0); 
     } 
    } 
); 

Этот скрипт выводит следующее:

Error opening url "http://www.nosuchdomain/": Host www.nosuchdomain not found 

Помните, что page также имеет onError событие, где вы можете получить больше информации.

+0

Я получаю это: Ошибка открытия URL-адреса «http://cdn.shopify.com/s/files/1/0640/6395/products/JALOUSIE_dark_back_medium.jpg?v=1427300416»: операция отменена – Zoomzoom

+0

Некоторые параметры для этого: вы используете PhantomJS 1.9.X или у вас проблемы с SSL, поэтому вам нужно запустить свою командную строку следующим образом: '--ignore-ssl-errors = true --web-security = false'. EDIT: Просто видел, как вы прокомментировали выше. –

+0

Больше вещей. Отмененным является изображение, поэтому проверьте, работает ли операция loadImages = false. –