协助使用 Python 词典从 Pocket 阅读列表中提取 URL
Assistance with extracting URL from Pocket reading list using Python dictionary
鉴于此 http 响应(Python 字典)
{"status":1,"list":{"229279689":{"item_id":"229279689",
"resolved_id":"229279689",
"given_url":"http:\/\/www.grantland.com\/blog\/the-triangle\/post\/_\/id\/38347\/ryder-cup-preview",
"given_title":"The Massive Ryder Cup Preview - The Triangle Blog - Grantland",
"favorite":"0",
"status":"0",
"resolved_title":"The Massive Ryder Cup Preview",
"resolved_url":"http:\/\/www.grantland.com\/blog\/the-triangle\/post\/_\/id\/38347\/ryder-cup-preview",
"excerpt":"The list of things I love about the Ryder Cup is so long that it could fill a (tedious) novel, and golf fans can probably guess most of them.",
"is_article":"1",
"has_video":"1",
"has_image":"1",
"word_count":"3197",
"images":{"1":{"item_id":"229279689","image_id":"1",
"src":"http:\/\/a.espncdn.com\/combiner\/i?img=\/photo\/2012\/0927\/grant_g_ryder_cr_640.jpg&w=640&h=360",
"width":"0","height":"0","credit":"Jamie Squire\/Getty Images","caption":""}},
"videos":{"1":{"item_id":"229279689","video_id":"1",
"src":"http:\/\/www.youtube.com\/v\/Er34PbFkVGk?version=3&hl=en_US&rel=0",
"width":"420","height":"315","type":"1","vid":"Er34PbFkVGk"}}}}}
如何在事先不知道 "item_id" 的情况下提取 "given_url"? (两者都是位于响应顶部的键)。
尝试使用以下代码行:
try:
print data['list'].values()[0]['given_url']
except IndexError:
print "No data"
#output:
http:\/\/www.grantland.com\/blog\/the-triangle\/post\/_\/id\/38347\/ryder-cup-preview
如果 list
下有很多项目,您可以使用以下代码提取所有网址:
urls = [x['given_url'] for x in d['list'].itervalues() if 'given_url' in x]
print urls # ['http:\/\/www.grantland.com\/blog\/thetriangle\/post\/_\/id\/38347\/ryder-cup-preview']
鉴于此 http 响应(Python 字典)
{"status":1,"list":{"229279689":{"item_id":"229279689",
"resolved_id":"229279689",
"given_url":"http:\/\/www.grantland.com\/blog\/the-triangle\/post\/_\/id\/38347\/ryder-cup-preview",
"given_title":"The Massive Ryder Cup Preview - The Triangle Blog - Grantland",
"favorite":"0",
"status":"0",
"resolved_title":"The Massive Ryder Cup Preview",
"resolved_url":"http:\/\/www.grantland.com\/blog\/the-triangle\/post\/_\/id\/38347\/ryder-cup-preview",
"excerpt":"The list of things I love about the Ryder Cup is so long that it could fill a (tedious) novel, and golf fans can probably guess most of them.",
"is_article":"1",
"has_video":"1",
"has_image":"1",
"word_count":"3197",
"images":{"1":{"item_id":"229279689","image_id":"1",
"src":"http:\/\/a.espncdn.com\/combiner\/i?img=\/photo\/2012\/0927\/grant_g_ryder_cr_640.jpg&w=640&h=360",
"width":"0","height":"0","credit":"Jamie Squire\/Getty Images","caption":""}},
"videos":{"1":{"item_id":"229279689","video_id":"1",
"src":"http:\/\/www.youtube.com\/v\/Er34PbFkVGk?version=3&hl=en_US&rel=0",
"width":"420","height":"315","type":"1","vid":"Er34PbFkVGk"}}}}}
如何在事先不知道 "item_id" 的情况下提取 "given_url"? (两者都是位于响应顶部的键)。
尝试使用以下代码行:
try:
print data['list'].values()[0]['given_url']
except IndexError:
print "No data"
#output:
http:\/\/www.grantland.com\/blog\/the-triangle\/post\/_\/id\/38347\/ryder-cup-preview
如果 list
下有很多项目,您可以使用以下代码提取所有网址:
urls = [x['given_url'] for x in d['list'].itervalues() if 'given_url' in x]
print urls # ['http:\/\/www.grantland.com\/blog\/thetriangle\/post\/_\/id\/38347\/ryder-cup-preview']