PhantomJS : capture d'écrans sont noires

Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 460
Enregistré le: 2 Fév 2005

PhantomJS : capture d'écrans sont noires

Message le Mar Mar 21, 2017 17:46

Bonjour,

j'ai un problème avec PhantomJS. En effet, j'utilise la commande proxy pour faire des captures d'écran sur des sites avec ceci : --proxy=leproxyici

Mon problème : La plupart du temps les capture d'écrans sont toute noires, ou avec une ligne au haut. Tout dépends du proxy utilisé. Avec certains cela fonctionne parfaitement et avec d'autres non.

Capture toute noire :

Image

Capture avec une ligne en haut :

Image

Voici ma ligne de commande :

Code: Tout sélectionner
/var/www/phantomjs/bin/phantomjs --proxy=125.141.200.46:80 --debug=true /var/www/screen.js http://www.urldusite.com /var/www/screens/image.jpg


Voici mon fichier screen.js :

Code: Tout sélectionner
"use strict";
var page = require('webpage').create(),
system = require('system'),
address, output, ref, user_agent;

address = system.args[1];
output = system.args[2];
ref = system.args[3];
user_agent = system.args[4];

page.settings.userAgent = user_agent;
page.zoomFactor = 0.25;

var settings = {
headers: {
      "Referer": ref
   }
};   

page.open(address, settings, function () {
   
   page.render(output, {format: 'jpeg', quality: '100'});
   phantom.exit();

});


Dans les logs j'ai cette erreur :

Code: Tout sélectionner
2017-03-20T14:26:44 [DEBUG] Network - Resource request error: QNetworkReply::Net workError(ContentNotFoundError) ( "Error downloading http://urldusiteici.fr/ - server replied: Not Found" ) URL: "http://urldusiteici.fr/"


J'ai essayé plusieurs site par proxy et le résultat est le même, j'ai également essayé de changer de format et d'extension d'image (PNG par exemple) mais c'est la même chose. Le problème c'est que quelques chose empêche le chargement de la page du site ce qui engendre une capture toute noire. Mais qu'est ce qui empêche le chargement de la page ? Le proxy ou un code ?

Merci pour vos réponses


spout
WRInaute accro
WRInaute accro
 
Messages: 8335
Enregistré le: 14 Mai 2003

Re: PhantomJS : capture d'écrans sont noires

Message le Mar Mar 21, 2017 18:24

Dans ton code: 1) aucun check si la page a bien été ouverte, 2) aucun délai avant le screenshot
Cfr: rasterize.js
C'est p-e pas ça, mais une piste.

sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 460
Enregistré le: 2 Fév 2005

Re: PhantomJS : capture d'écrans sont noires

Message le Mar Mar 21, 2017 19:21

Merci pour Spout pour ta réponse, mais j'ai déja essayé le fichier rasterize.js à la place de screen.js et j'ai exactement le meme problème. C'est pas un problème de delais pour le screenshot, ni de fichier, c'est l'url qui ne se charge pas du tout avec certains proxy.

sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 460
Enregistré le: 2 Fév 2005

Re: PhantomJS : capture d'écrans sont noires

Message le Mar Mar 21, 2017 19:22

La question est de savoir pourquoi ? Et pourquoi j'ai une ligne blanche sur certaines captures ?

sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 460
Enregistré le: 2 Fév 2005

Re: PhantomJS : capture d'écrans sont noires

Message le Mar Mar 21, 2017 20:33

Certains proxy me donnent cette erreur :

Code: Tout sélectionner
2017-03-21T20:27:01 [DEBUG] Network - Resource request error: QNetworkReply::Net                                                                                                                               workError(ProxyAuthenticationRequiredError) ( "Proxy requires authentication" )                                                                                                                                URL: "http://www.ffreload.com/"
2017-03-21T20:27:01 [DEBUG] Network - Resource request error: QNetworkReply::Net                                                                                                                               workError(ProxyAuthenticationRequiredError) ( "Proxy requires authentication" )                                                                                                                                URL: "http://www.squid-cache.org/Artwork/SN.png"


avec cette capture :
Image

sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 460
Enregistré le: 2 Fév 2005

Re: PhantomJS : capture d'écrans sont noires

Message le Mar Mar 21, 2017 20:54

Avec d'autres :

Image

Log :

Code: Tout sélectionner
root@vps-21226:~# /var/www/phantomjs/bin/phantomjs --proxy=54.187.52.159:443 --proxy-type=http --proxy-auth=username:password --debug=true /var/www/screen.js http://www.ffreload.com /var/www/screens/imag22.jpg
2017-03-21T20:51:18 [DEBUG] CookieJar - Created but will not store cookies (use option '--cookies-file=<filename>' to enable persistent cookie storage)
2017-03-21T20:51:18 [DEBUG] Set  "http"  proxy to:  "54.187.52.159" : 443
2017-03-21T20:51:18 [DEBUG] Phantom - execute: Configuration
2017-03-21T20:51:18 [DEBUG]      0 objectName : ""
2017-03-21T20:51:18 [DEBUG]      1 cookiesFile : ""
2017-03-21T20:51:18 [DEBUG]      2 diskCacheEnabled : "false"
2017-03-21T20:51:18 [DEBUG]      3 maxDiskCacheSize : "-1"
2017-03-21T20:51:18 [DEBUG]      4 diskCachePath : ""
2017-03-21T20:51:18 [DEBUG]      5 ignoreSslErrors : "false"
2017-03-21T20:51:18 [DEBUG]      6 localUrlAccessEnabled : "true"
2017-03-21T20:51:18 [DEBUG]      7 localToRemoteUrlAccessEnabled : "false"
2017-03-21T20:51:18 [DEBUG]      8 outputEncoding : "UTF-8"
2017-03-21T20:51:18 [DEBUG]      9 proxyType : "http"
2017-03-21T20:51:18 [DEBUG]      10 proxy : "54.187.52.159:443"
2017-03-21T20:51:18 [DEBUG]      11 proxyAuth : "username:password"
2017-03-21T20:51:18 [DEBUG]      12 scriptEncoding : "UTF-8"
2017-03-21T20:51:18 [DEBUG]      13 webSecurityEnabled : "true"
2017-03-21T20:51:18 [DEBUG]      14 offlineStoragePath : ""
2017-03-21T20:51:18 [DEBUG]      15 localStoragePath : ""
2017-03-21T20:51:18 [DEBUG]      16 localStorageDefaultQuota : "-1"
2017-03-21T20:51:18 [DEBUG]      17 offlineStorageDefaultQuota : "-1"
2017-03-21T20:51:18 [DEBUG]      18 printDebugMessages : "true"
2017-03-21T20:51:18 [DEBUG]      19 javascriptCanOpenWindows : "true"
2017-03-21T20:51:18 [DEBUG]      20 javascriptCanCloseWindows : "true"
2017-03-21T20:51:18 [DEBUG]      21 sslProtocol : "default"
2017-03-21T20:51:18 [DEBUG]      22 sslCiphers : "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:RC4-SHA:RC4-MD5"
2017-03-21T20:51:18 [DEBUG]      23 sslCertificatesPath : ""
2017-03-21T20:51:18 [DEBUG]      24 sslClientCertificateFile : ""
2017-03-21T20:51:18 [DEBUG]      25 sslClientKeyFile : ""
2017-03-21T20:51:18 [DEBUG]      26 sslClientKeyPassphrase : ""
2017-03-21T20:51:18 [DEBUG]      27 webdriver : ":"
2017-03-21T20:51:18 [DEBUG]      28 webdriverLogFile : ""
2017-03-21T20:51:18 [DEBUG]      29 webdriverLogLevel : "INFO"
2017-03-21T20:51:18 [DEBUG]      30 webdriverSeleniumGridHub : ""
2017-03-21T20:51:18 [DEBUG] Phantom - execute: Script & Arguments
2017-03-21T20:51:18 [DEBUG]      script: "/var/www/screen.js"
2017-03-21T20:51:18 [DEBUG]      0 arg: "http://www.ffreload.com"
2017-03-21T20:51:18 [DEBUG]      1 arg: "/var/www/screens/imag22.jpg"
2017-03-21T20:51:18 [DEBUG] Phantom - execute: Starting normal mode
2017-03-21T20:51:18 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:18 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:18 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:18 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:18 [DEBUG] WebPage - updateLoadingProgress: 10
2017-03-21T20:51:18 [DEBUG] CookieJar - Saved "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; domain=.ffreload.com; path=/"
2017-03-21T20:51:19 [DEBUG] CookieJar - Saved "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; domain=.ffreload.com; path=/"
2017-03-21T20:51:19 [DEBUG] CookieJar - Saved "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; expires=Sun, 21-Mar-2117 19:51:16 GMT; domain=.webroot.com; path=/"
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 50
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 50
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 62
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 66
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 100
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 10
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 100
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 10
2017-03-21T20:51:19 [DEBUG] WebPage - setupFrame ""
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
2017-03-21T20:51:19 [DEBUG] WebPage - updateLoadingProgress: 100
2017-03-21T20:51:19 [DEBUG] CookieJar - Purged (session) "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; domain=.ffreload.com; path=/"
2017-03-21T20:51:19 [DEBUG] CookieJar - Saved "WR_PROXY_AUTH=807FABEA59B2B7DDD8D886156F1AB184; expires=Sun, 21-Mar-2117 19:51:16 GMT; domain=.webroot.com; path=/"


Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :