質問

配置された画像をつかもうとしています ここ また、画像を「右クリック」してデスクトップに保存するかのように、1日に数回サーバーに保存します。 Perlスクリプトを使用してこれを行うことにしました。これまでに書いたものは次のとおりです。

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;

SSH経由で実行した後、私はこのエラーを受け取ります。 2行目の未定義の値で「regexp」を呼び出すことはできません

誰もがこの行の何が問題なのか、「$ pic-> regexp( '。*。png'); "または、言及されたURLからこの画像(index_chart_api.png)を取得して保存する方法は?

これに関する助けに感謝します。

役に立ちましたか?

解決

URLが私のブラウザのPNG画像を示していることを示していることに注意してください。これは、画像を検索するHTMLがないことを意味します。原則として、次のスクリプトは機能するはずです。

#!/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";
}

同様のスクリプトを使用して作成しました バルト海のノルウェーの太陽 - 5分間の6日間.

他のヒント

あなたはオブジェクトを開始していません、だからそれは未定義です。

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

または同様のこと:

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;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top