2016-11-11 51 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

請注意,您似乎有兩個對象,'$ mech1'和'$ mech'。也許你讓他們感到困惑? –

+0

哎呀!我在輸入代碼時輸入了錯字。對不起!我期望它在鏈接上使用「gtexGene」在頁面上下載圖像 –

回答

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修改爲不區分大小寫的,如果你真的希望它是不區分大小寫。