Question

Je suis en train de saisir l'image située ici et l'enregistrer en plusieurs fois mon serveur par jour, comme si je « clic droit » sur l'image et l'enregistrer sur mon bureau. J'ai décidé d'utiliser un script Perl pour ce faire, voici ce que je l'ai écrit à ce jour:

use Image::Grab;
 $pic->regexp('.*\.png');
 $pic->search_url('http://www.reuters.wallst.com/enhancements/chartapi/index_chart_api.asp?symbol=.SPX&headerType=quote&width=316&height=106&duration=3');
 $pic->grab;
open(IMAGE, ">index_chart_api.png") || die"index_chart_api.png: $!";
 binmode IMAGE;  # for MSDOS derivations.
 print IMAGE $pic->image;
 close IMAGE;

Après avoir exécuté via ssh je reçois cette erreur: peut appeler la méthode "regexp" sur une valeur non définie à la ligne 2

Quelqu'un a une idée qui ne va pas avec cette ligne "$ Pic-> regexp ( '* png..');" ou comment saisir et enregistrer cette image (index_chart_api.png) d'URL mentionnée sur les serveur correctement?

apprécierais toute aide à ce sujet.

Était-ce utile?

La solution

Notez que l'URL a donné montre l'image PNG dans mon navigateur signifie qu'il n'y a pas de HTML pour rechercher l'image. En principe, donc, le script suivant devrait fonctionner:

#!/usr/bin/env perl

use warnings; use strict;
use LWP::Simple qw(getstore is_error);

my $img_url = 'http://www.reuters.wallst.com/enhancements/chartapi/index_chart_api.asp?symbol=.SPX&headerType=quote&width=316&height=106&duration=3';

my $ret = getstore($img_url, 'test.png');

if (is_error($ret)) {
    die "Error: $ret\n";
}

J'ai utilisé un script similaire pour produire Norwegian Sun dans la mer Baltique - 6 jours en 5 minutes .

Autres conseils

Vous n'avez pas initialiser l'objet, c'est pourquoi il est indéfini.

use Image::Grab;
$pic = new Image::Grab;
$pic->regexp('.*\.png');

ou une chose similaire:

use Image::Grab;

$pic = Image::Grab->new(
            SEARCH_URL => '',
            REGEXP     => '.*\.png');
$pic->grab;
open(IMAGE, ">image.jpg") || die "image.jpg: $!";
binmode IMAGE;  
print IMAGE $pic->image;
close IMAGE;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top