2013-10-15 9 views
5

regexesについてはちょっとした疑問があります。別の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値を抽出する方法:私はこのようなパターンのURLを持っていますか?

+6

URLパーサを使用する - 値は、クエリとして利用できるようになりますパラメーター。 *実際のパーサを使うことは、エンコーディングルールを扱うので重要です。 – user2864740

+0

それは常に 'refurl'パラメータとしてですか? – Dropout

+0

@Dropoutそれは常に 'imgurl'パラメータとしてあります。 –

答えて

5

は、あなたが簡単にパラメータにあなたのURLを分割して、何が必要exctractできurlparse

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

を見てみましょう。

例:&w=...

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

このソリューションは、imgurlのparam値は常にのようなサイズのparamsが続いていることをasssumes

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

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

関連する問題