2014-11-03 80 views
1

对不起,非常糟糕的英语。 你好。我如何从这个列表中获取网址?Python:在词典中搜索嵌入列表

[{u'highlighted': [], u'image_permalink': u'http://bluebeetlezar.tumblr.com/image/101630187766', u'reblog_key': u'RWjDEE41', u'format': u'html', u'timestamp': 1414973540, u'note_count': 0, u'tags': [u'train', u'railway', u'station', u'silent', u'morning'], u'photos': [{u'caption': u'', u'original_size': {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg', u'width': 640, u'height': 640}, u'alt_sizes': [{u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg', u'width': 640, u'height': 640}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_500.jpg', u'width': 500, u'height': 500}, {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_400.jpg', u'width': 400, u'height': 400}, {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_250.jpg', u'width': 250, u'height': 250}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_100.jpg', u'width': 100, u'height': 100}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_75sq.jpg', u'width': 75, u'height': 75}]}], u'id': 101630187766, u'post_url': u'http://bluebeetlezar.tumblr.com/post/101630187766/stasiun-gondangdia-in-the-morniiiiinnngg', u'caption': u'<p>Stasiun Gondangdia in the morniiiiinnngg :) #railway #station #train #morning #silent</p>', u'state': u'published', u'short_url': u'http://tmblr.co/Z2EiHt1UfePZs', u'date': u'2014-11-03 00:12:20 GMT', u'link_url': u'http://instagram.com/p/u6sFevMNJ2/', u'type': u'photo', u'slug': u'stasiun-gondangdia-in-the-morniiiiinnngg', u'blog_name': u'bluebeetlezar'}] 

我想使用.get,但是这个数据列表。我可以如何提取网址的方式?或列表 - >字典? (字典()不工作或我愚蠢)。

回答

1

'your_list [0] [' image_permalink']# - >http://bluebeetlezar.tumblr.com/image/101630187766

your_list[0]['photos'][0]['original_size']["url"] # -> http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg 

你只有这是一个字典列表中的单个元素,使用your_list[0]访问它,然后使用键盘来获得无论你需要什么网址。

In [27]: your_list[0]['photos'][0]['original_size']['url'] 
Out[27]: 'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg' 
+0

我得到永久的,但我不能让{u'url“:u'http:/ /38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg' – 2014-11-03 01:19:23

+0

我添加了输出,我在你的问题的列表中运行代码 – 2014-11-03 01:21:02

+0

它的工作原理,谢谢你! – 2014-11-03 01:24:08

1

这里有一对夫妇的事情,你可以尝试:

L = [{u'highlighted': [], u'image_permalink': u'http://bluebeetlezar.tumblr.com/image/101630187766', u'reblog_key': u'RWjDEE41', u'format': u'html', u'timestamp': 1414973540, u'note_count': 0, u'tags': [u'train', u'railway', u'station', u'silent', u'morning'], u'photos': [{u'caption': u'', u'original_size': {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg', u'width': 640, u'height': 640}, u'alt_sizes': [{u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_1280.jpg', u'width': 640, u'height': 640}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_500.jpg', u'width': 500, u'height': 500}, {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_400.jpg', u'width': 400, u'height': 400}, {u'url': u'http://38.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_250.jpg', u'width': 250, u'height': 250}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_100.jpg', u'width': 100, u'height': 100}, {u'url': u'http://33.media.tumblr.com/aa3018b3d8b147dc49e4b407b62f2b94/tumblr_nefsklMDSb1s385n2o1_75sq.jpg', u'width': 75, u'height': 75}]}], u'id': 101630187766, u'post_url': u'http://bluebeetlezar.tumblr.com/post/101630187766/stasiun-gondangdia-in-the-morniiiiinnngg', u'caption': u'<p>Stasiun Gondangdia in the morniiiiinnngg :) #railway #station #train #morning #silent</p>', u'state': u'published', u'short_url': u'http://tmblr.co/Z2EiHt1UfePZs', u'date': u'2014-11-03 00:12:20 GMT', u'link_url': u'http://instagram.com/p/u6sFevMNJ2/', u'type': u'photo', u'slug': u'stasiun-gondangdia-in-the-morniiiiinnngg', u'blog_name': u'bluebeetlezar'}] 

def printUrls(L): 
    whitelist = set(["u'image_permalink", "url"]) 
    for d in L: 
     if isinstance(d, dict): 
      for k in d: 
       if k in whitelist: 
        print(d[k]) 
        continue 

     if isinstance(d, list): 
      printUrls(d) 

或者:

def printUrls(L): 
    for d in L: 
     if isinstance(d, dict): 
      for _k,v in d.items(): 
       if v.startswith('http'): 
        print(v) 
        continue 

     if isinstance(d, list): 
      printUrls(d)