我使用TMDB api来展示电影海报,但我收到了一些错误

时间:2015-08-15 14:54:41

标签: json python-2.7

  **here is my code**

     import os
     import requests

      CONFIG_PATTERN = 'http://api.themoviedb.org/3/search/movie?query=Monsters+University&api_key=xxx'
        IMG_PATTERN = 'http://api.themoviedb.org/3/movie?query=Monsters+University&api_key=xxx'
     KEY = 'xxx'

     def _get_json(url):
      r = requests.get(url)
     return r.json()

     def _download_images(urls, path='.'):
      """download all images in list 'urls' to 'path' """

for nr, url in enumerate(urls):
    r = requests.get(url)
    filetype = r.headers['content-type'].split('/')[-1]
    filename = 'poster_{0}.{1}'.format(nr+1,filetype)
    filepath = os.path.join(path, filename)
    with open(filepath,'wb') as w:
        w.write(r.content)

        def get_poster_urls(imdbid):
    """ return image urls of posters for IMDB id
    returns all poster images from 'themoviedb.org'. Uses the
    maximum available size.
    Args:
        imdbid (str): IMDB id of the movie
    Returns:
        list: list of urls to the images
"""
config = _get_json(CONFIG_PATTERN.format(key=KEY))
base_url = config['images']['base_url']
sizes = config['images']['poster_sizes']


  def size_str_to_int(x):
    return float("inf") if x == 'original' else int(x[1:])
    max_size = max(sizes, key=size_str_to_int)

posters = _get_json(IMG_PATTERN.format(key=KEY,imdbid=imdbid))['posters']
poster_urls = []
for poster in posters:
    rel_path = poster['file_path']
    url = "{0}{1}{2}".format(base_url, max_size, rel_path)
    poster_urls.append(url)

return poster_urls

 def tmdb_posters(imdbid, count=None, outpath='.'):
urls = get_poster_urls(imdbid)
if count is not None:
    urls = urls[:count]
_download_images(urls, outpath)

 if __name__=="__main__":
tmdb_posters('tt0095016')

请相应地格式化代码iam使用TMDB api获取json数据但是我得到了错误 这里有错误

 Traceback (most recent call last):
  File "C:/Users/ayushblueluck/PycharmProjects/MovieDatabase/test.py", line 57, in <module>
tmdb_posters('tt0095016')
    File "C:/Users/ayushblueluck/PycharmProjects/MovieDatabase/test.py", line 51, in tmdb_posters
urls = get_poster_urls(imdbid)
      File "C:/Users/ayushblueluck/PycharmProjects/MovieDatabase/test.py", line 33, in get_poster_urls
base_url = config['images']['base_url']
KeyError: 'images'

 Process finished with exit code 1

但是我无法弄清楚错误似乎一切都是正确的但是这些错误并不是我已经尝试了所有的事情

1 个答案:

答案 0 :(得分:0)

如果您将filteredLokale更改为<uib-accordion-group ng-repeat="lokal in lokale | orderBy:'name' | searchFilter as filteredLokale"> </uib-accordion-group> Length: {{filteredLokale.length}}

,我认为它应该有用

BTW,自您在其中发布API密钥后编辑了您的问题。