2016-11-11 7 views
0

DNA配列の発現データをダウンロードしようとしています。このページでは、グラフ(png画像)は常にページ上の6番目、7番目、または8番目の画像ですが、毎回2つの余分な画像をダウンロードする必要はありません。WWW :: Mechanize:特定の画像をダウンロード

ページ上の画像を検査すると、画像へのリンクの最後の数が毎回変わりますが、<img src="../trash/hgc/gtexGene_genome_6d0b_5d5220.png" border="1">が得られます。私のコードで

、私は働いていません

my $image = $mech1->find_image(alt_regex => qr/gtexGene/i);; 
$mech1->get($image -> URI); 
$mech1->save_content("exp.png"); 

を持っています。

リンクの内容の一部のみを指定してイメージをダウンロードするにはどうすればよいですか?

+2

「機能していません」とはどういう意味ですか?どのくらい正確に動作していないのですか?あなたはそれが何をすると期待していないのですか? –

+0

2つのオブジェクト '$ mech1'と' $ mech'があるように見えます。多分あなたはそれらを混乱させるでしょうか? –

+0

おっと!コードをタイプミスしました。申し訳ありません!私はリンクの中に "gtexGene"というページのイメージをダウンロードすることを期待しています –

答えて

3

を使用しています。これはalt属性でパターンマッチしています。あなたが望むのはsrc属性なので、to use url_regex insteadが必要です。

url => 'string',url_regex => qr/regex/,は、必要に応じて、ストリングまたは正規表現に対する画像のURLにマッチ。 URLは、ページ上にどのようにコード化されているかに応じて、foo/bar.htmlのような相対的なURLにすることができます。

コードは次のようになります。あなたは本当にそれは大文字と小文字を区別しないようにしたい場合にのみ、大文字と無神経のため/i修飾子を使用

my $image = $mech->find_image(url_regex => qr/gtexGene/i); 

関連する問題