В настоящее время у меня есть следующее, которое анализирует API json ..
import simplejson import urllib2 f = urllib2.urlopen('http://fanart.tv/webservice/series/f5b8e776c35e7536eac132802b03281f/80349/json/tvthumb/') data = simplejson.load(f) imagetypes = ['clearlogo', 'clearart', 'tvthumb', 'seasonthumb', 'characterart'] image_list = [] # split "name" and "data" for title, value in data.iteritems(): # run through specified types for art in imagetypes: # if type has been found if value.has_key(art): # Run through all the items for item in value[art]: info = {} info['url'] = urllib2.quote(item['url'], ':/') # Original image url if info: image_list.append(info) print image_list
Это возвращает следующее ..
[{'url': 'http://fanart.tv/fanart/tv/80349/tvthumb/5287/C_80349%20%284%29.jpg'}, {'url': 'http://fanart.tv/fanart/tv/80349/tvthumb/5286/C_80349%20%285%29.jpg'}, {'url': 'http://fanart.tv/fanart/tv/80349/tvthumb/5288/C_80349%20%283%29.jpg'}, {'url': 'http://fanart.tv/fanart/tv/80349/tvthumb/5289/C_80349%20%282%29.jpg'}, {'url': u'http://fanart.tv/fanart/tv/80349/tvthumb/5290/C_80349.jpg'}, {'url': 'http://fanart.tv/fanart/tv/80349/tvthumb/5291/C_80349%20%280%29.jpg'}]
Как мне получить только фактический URL всписок URL?Если бы вы могли объяснить шаги в своем ответе, чтобы я мог учиться на нем, я был бы признателен.Спасибо
>>> urllist = [{'url': 'http://fanart.tv/fanart/tv/80349/tvthumb/5287/C_80349%20%284%29.jpg'}, ... {'url': 'http://fanart.tv/fanart/tv/80349/tvthumb/5286/C_80349%20%285%29.jpg'}, ... {'url': 'http://fanart.tv/fanart/tv/80349/tvthumb/5288/C_80349%20%283%29.jpg'}, ... {'url': 'http://fanart.tv/fanart/tv/80349/tvthumb/5289/C_80349%20%282%29.jpg'}, ... {'url': u'http://fanart.tv/fanart/tv/80349/tvthumb/5290/C_80349.jpg'}, {'url': ... 'http://fanart.tv/fanart/tv/80349/tvthumb/5291/C_80349%20%280%29.jpg'}] >>> [item['url'] for item in urllist] ['http://fanart.tv/fanart/tv/80349/tvthumb/5287/C_80349%20%284%29.jpg', 'http://fanart.tv/fanart/tv/80349/tvthumb/5286/C_80349%20%285%29.jpg', 'http://fanart.tv/fanart/tv/80349/tvth umb/5288/C_80349%20%283%29.jpg', 'http://fanart.tv/fanart/tv/80349/tvthumb/5289/C_80349%20%282%29.jpg', u'http://fanart.tv/fanart/tv/80349/tvthumb/5290/C_80349.jpg', 'http://fanart. tv/fanart/tv/80349/tvthumb/5291/C_80349%20%280%29.jpg']
Это должно дать вам URL, которые вам нужны, но выглядит так:
for item in value[art]: info = {} info['url'] = urllib2.quote(item['url'], ':/') # Original image url if info: image_list.append(info)
Можно упростить до этого:
for item in value[art]: url = urllib2.quote(item(['url'], ':/') if url: image_list.append(url)
Как насчет этого?
# your old code avoce for item in value[art]: url = urllib2.quote(item['url'], ':/') # Original image url if url: image_list.append(url)