首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:如何提取url并对其进行解码?

Python:如何提取url并对其进行解码?
EN

Stack Overflow用户
提问于 2017-01-17 04:31:07
回答 1查看 115关注 0票数 0

我从API中得到的响应如下-

代码语言:javascript
复制
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'}]

我想从这个包含.png的url中提取出所有的url,并解码该url。

正如您可以在上面的url中看到的那样,它包含http%3A%2F%2Fgigya.jp%2Fdpa%2F1.png,我希望提取所有这些url并解码并保存为一个列表。

我试过什么

代码语言:javascript
复制
image_urls = ""
for product in products:
        image_urls += urllib.unquote(product['image_url'].split("=")[2])+"\n"

问题是它没有从url中删除"&cfs“

代码语言:javascript
复制
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

对不起,我刚认识蟒蛇。有什么有效的方法吗?请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-17 04:47:39

使用urlparse,这使它变得简单得多:

代码语言:javascript
复制
>>> 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

对于Python3,使用urllib.parse

代码语言:javascript
复制
>>> 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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41689118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档