WWW::Mechanize: 下载特定图片

WWW::Mechanize: Download a specific image

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

检查页面上的图像会产生 <img src="../trash/hgc/gtexGene_genome_6d0b_5d5220.png" border="1">,尽管图像 link 中的最后几个数字每次都会发生变化。

在我的代码中,我有

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

这是行不通的。

我如何才能下载只给出 link 的某些内容的图像?

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

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

Matches the URL of the image against string or regex, as appropriate. The URL may be a relative URL, like foo/bar.html, depending on how it's coded on the page.

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

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

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