質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

Q&A

解決済

1回答

2891閲覧

perl LWP::Simpleでの画像ダウンロードについて

Koh_

総合スコア27

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

0グッド

0クリップ

投稿2017/09/02 10:04

perlのLWP::Simpleを用いて画像をダウンロードしようと考えています。

コードは以下です。

##################
use LWP::Simple;
use strict;
use warnings;

my $url= "https://patentimages.storage.googleapis.com/WO2014002787A1/JPOXMLDOC01-appb-D000001.png";

my $time = time;

my $html = get($url);
open(OUT, ">$time.png");
print OUT $html;
close(OUT);
##################

このスクリプトを実行したところ,
Use of uninitialized value $html in print at test2.pl line 11.
というエラーが出ます。また,カレントディレクトリにダウンロードされた画像のサイズが0KBとなっており,開けません。
なぜ「$htmlが初期化されていない」というエラーが出るのか,理解できず質問させていただきます。
どなたかご教授お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

試してみたところ、もんだいなく画像データを得ることができました。
おそらく一時的にサーバーにアクセスできない状態だったのではないでしょうか。getに失敗すると$htmlが未定義になるのでご質問のようなエラーが出ます。

投稿2017/09/02 17:06

KojiDoi

総合スコア13669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Koh_

2017/09/03 02:40

ご回答ありがとうございます。 一次的にサーバーにアクセスできない状態ではないかとのご指摘を受け,何度かスクリプトを実行してみたのですが,当方では画像データを得ることができませんでした。 しかし画像のURLを変えて何度か試みたところ,画像によってダウンロードできるものとできないものがあることに気づきました。 以下は試してみた画像のURL及び実行結果です。なお,今回は binmode OUT; を print OUT $html; の前に付け加えました。 http://fujifilm.jp/personal/digitalcamera/x/fujinon_lens_xf16mmf14_r_wr/sample_images/img/index/ff_xf16mmf14_r_wr_001.JPG ... ダウンロード成功 https://pbs.twimg.com/profile_images/378800000220029324/fe66faeca20115da8566e51d83447ead_400x400.jpeg ... ダウンロード成功 https://patentimages.storage.googleapis.com/WO2014002787A1/JPOXMLDOC01-appb-D000001.png ... ダウンロード失敗 このように画像によってダウンロードできたりできなかったりするようです。 3つ目のリンクはサーバーからアクセスが禁止されているということでしょうか(3つ目のリンクは何度試してもダウンロードできませんでした)。
KojiDoi

2017/09/03 03:56

それらのURLにブラウザからアクセスするとどうなりますか?
Koh_

2017/09/03 05:11

ブラウザからはどのURLも問題なくアクセスできます。
Koh_

2017/09/03 09:55

そうですか... URLを参考に取り組んでみます。 ご丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問