WWW :: Mechanize:下载特定图像

时间:2016-11-11 14:44:41

标签: perl www-mechanize

我正在尝试下载DNA序列的表达数据。在页面上,图形(一个png图像)始终是页面上的第6,第7或第8个图像,但我不想每次都下载2个额外的图像。

检查页面上的图像会产生<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");

无效。

如何仅仅根据链接的某些内容下载图像?

1 个答案:

答案 0 :(得分:3)

您正在使用alt_regex,它正在对alt属性进行模式匹配。您想要的是src属性,因此您需要to use url_regex instead

  

url => 'string',url_regex => qr/regex/,

     

根据需要将图像的URL与字符串或正则表达式匹配。该网址可能是相对网址,例如foo / bar.html,具体取决于网页上的编码方式。

所以你的代码应该是这样的。

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

如果您确实希望它不区分大小写,请仅使用/i修饰符来区分大小写。