2017-01-17 1 views
0

나는 당신이 할 수있는이 위의 URL에서이 http%3A%2F%2Fgigya.jp%2Fdpa%2F1.png을 포함으로 해당 URL파이썬 : 어떻게 URL을 추출하고 디코딩합니까?

.png를 포함하는이 모든 URL을 추출하고 디코딩 할 follows-

def update_csv(products): 
print type(products) 
print products 
[{u'image_url': u'https://external.xx.fbcdn.net/safe_image.php?d=AQBHdbRqB7F6aMKM&url=http%3A%2F%2Fgigya.jp%2Fdpa%2F1.png&cfs=1&_nc_hash=AQDx7P52g0NYBB-3', u'id': u'1411912028843607', u'retailer_id': u'product-1'}, {u'image_url': u'https://external.xx.fbcdn.net/safe_image.php?d=AQDyc-Yyic5QLOqH&url=http%3A%2F%2Fgigya.jp%2Fdpa%2F0.png&cfs=1&_nc_hash=AQDhmhPJxFZEpMFX', u'id': u'993388404100117', u'retailer_id': u'product-0'}, {u'image_url': u'https://external.xx.fbcdn.net/safe_image.php?d=AQB69V2cgASUIci1&url=http%3A%2F%2Fgigya.jp%2Fdpa%2F100.png&cfs=1&_nc_hash=AQAk3eZ4vqWYbOW4', u'id': u'1347112758661660', u'retailer_id': u'product-100'}, {u'image_url': u'https://external.xx.fbcdn.net/safe_image.php?d=AQBM75VZTNuxqaoq&url=http%3A%2F%2Fgigya.jp%2Fdpa%2F10.png&cfs=1&_nc_hash=AQAUdkc6II5eu47D', u'id': u'1358784964179738', u'retailer_id': u'product-10'}] 

같은 API에서 반응을 얻고있다 나는이 url 전부를 추출하고 해독하고 명부로 저장하고 싶다.

나는

이 가진 문제는 그것이 "& CFS"를 제거

http://gigya.jp/dpa/1.png&cfs 
http://gigya.jp/dpa/0.png&cfs 
http://gigya.jp/dpa/100.png&cfs 
http://gigya.jp/dpa/10.png&cfs 

미안 내가 파이썬에 새로운 URL을을 형성하지 않고있다

image_urls = "" 
for product in products: 
     image_urls += urllib.unquote(product['image_url'].split("=")[2])+"\n" 
을 시도 무엇. 이 작업을 수행하는 효율적인 방법이 있습니까? 도와주세요. 이 훨씬 간단하게

+0

것 같습니다. 대부분의 사용자는 곤경에 처한 코더 코드를 기꺼이 만들지 만 일반적으로 포스터가 이미 문제를 해결하려고 시도했을 때만 도움이됩니다. 이러한 노력을 입증하는 좋은 방법은 지금까지 작성한 코드, 예제 입력 (있는 경우), 예상 출력 및 실제로 얻은 출력 (출력, 역 추적 등)을 포함시키는 것입니다. 더 자세하게 제공할수록 더 많은 답변을받을 수 있습니다. [FAQ] (http://stackoverflow.com/tour) 및 [How to Ask] (http://stackoverflow.com/questions/how-to-ask)를 확인하십시오. – TigerhawkT3

+0

@ TigerhawkT3 나는 피곤한 것을 덧붙였다. 제발 downvote하지 마십시오. 다시 확인해주세요. – RajSharma

+0

다시'&'로 나눌 수 있습니다. –

답변

2

사용 urlparse :

>>> import urlparse 
>>> for i in products: 
... print(urlparse.parse_qs(urlparse.urlparse(i['image_url']).query)['url'][0]) 
... 
http://gigya.jp/dpa/1.png 
http://gigya.jp/dpa/0.png 
http://gigya.jp/dpa/100.png 
http://gigya.jp/dpa/10.png 

파이썬 3를 들어, urllib.parse를 사용 : 당신은 우리가 당신을 위해 몇 가지 코드를 작성하려는처럼

>>> from urllib.parse import urlparse, parse_qs 
>>> for i in products: 
... print(parse_qs(urlparse(i['image_url']).query)['url'][0]) 
... 
http://gigya.jp/dpa/1.png 
http://gigya.jp/dpa/0.png 
http://gigya.jp/dpa/100.png 
http://gigya.jp/dpa/10.png 
+0

이 'url'키는 무엇입니까? – RajSharma

+0

'parse_qs'가 반환하는 부분입니다. 자세한 내용은 [docs] (https://docs.python.org/3/library/urllib.parse.html#urllib.parse.parse_qs)를 참조하십시오. –

+0

'이미지 URL'을 디코딩하면 다음과 같이 나타납니다. https://external.xx.fbcdn.net/safe_image.php?d=AQB69V2cgASUIci1&url=http%3A%2F%2Fgigya.jp%2Fdpa%2F100.png&cfs=1&_nc_hash = AQAk3eZ4vqWYbOW4 – RajSharma

관련 문제