2013-10-15 58 views
5

有關正則表達式的棘手問題。我有這樣一個模式的網址:如何在另一個URL中查找URL?

http://www.domain.com/img?res=high&refurl=http://www.ahother_domain.com/page/&imgurl=http://www.one_more.com/static/images/mercedes.jpg&w=640&h=480

我怎麼能提取imgurl價值?

+6

使用URL解析器 - 的值將作爲查詢參數。使用* actual *分析器非常重要,因爲它將處理編碼規則。 – user2864740

+0

它總是作爲'refurl'參數嗎? – Dropout

+0

@Dropout它始終是'imgurl'參數。 –

回答

5

看看urlparse

http://docs.python.org/2/library/urlparse.html

您可以輕鬆地拆分您的網址進入任何你需要的參數,然後exctract。

實施例:

import urlparse 
url = "http://www.domain.com/img?res=high&refurl=http://www.ahother_domain.com/page/&imgurl=http://www.one_more.com/static/images/mercedes.jpg&w=640&h=480" 
urlParams = urlparse.parse_qs(urlparse.urlparse(url).query) 
urlInUrl = urlParams['imgurl'] 
print urlInUrl 
+0

應該是一個評論。你不提供任何例子或任何東西。 – aIKid

+0

對不起,我爲他的具體要求編輯了它。 – Dropout

3

將該溶液asssumes該imgurl PARAM值總是接着進行大小PARAMS如:&w=...

import re 
re.findall('imgurl=([^&]+)&', url) 
+0

http://example.com/imgurl=foo/?imgurl=bar&imgurl=baz – atk