2015-02-06 43 views
0

我正在爲網站製作一個網絡抓取工具,我必須下載圖像。我目前使用WWW::Mechanize,做:如何更改我的正則表達式以獲得與WWW :: Mechanize不同的一組圖像?

my @images=$mech->find_all_images(url_regex => qr/smallThumb/i); 

這給我的一切,在URL中有smallThumb圖像。

如何將smallThumb更改爲zoom,同時保留之前有smallThumb的鏈接?

+2

是否要匹配包含'smallThumb' *和*'zoom'的URL?或者你想得到兩個單獨的列表,一個包含'smallThumb'圖像,另一個包含'zoom'圖像? – ThisSuitIsBlackNot 2015-02-06 17:56:05

+1

你已經試過了什麼代碼?請參閱[我可以在這裏詢問哪些主題?](http://stackoverflow.com/help/on-topic),[我如何提出一個好問題?](http://stackoverflow.com/help/how -to-ask)和[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – Makyen 2015-02-06 17:56:14

回答

1

你可以這樣做:

my @smallthumbs = $mech->find_all_images(url_regex => qr/smallThumb/i); 
my @zooms  = $mech->find_all_images(url_regex => qr/zoom/i); 
my @allimages = (@smallthumbs, @zooms); 

這裏的風險是,你可以有適合這兩個類別的URL,並得到一個傻瓜。

你也可以去正則表達式。

my @smallthumbs_or_zooms = $mech->find_all_images(url_regex => qr/smallThumb|zoom/i); 
+0

謝謝Andy的回覆。我已經在做這些搗亂的東西,但結果並不是我們想要的。我想用smallThumb保留網址,當我用正則表達式替換smallthumb時,還需要url。任何幫助Guru。 – 2015-02-07 06:03:17

+0

我有我的@ smallthumbs = {a.smallThumb.jpg,b.smallThumb.jpg},我想我的@ smallandzoom = {a.smallThumb.jpg,b.smallThumb.jpg,a.zoom.jpg,b.zoom。 JPG} – 2015-02-07 06:16:53