首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中请求IMDB API?

如何在Python中请求IMDB API?
EN

Stack Overflow用户
提问于 2016-04-09 14:39:55
回答 1查看 9.8K关注 0票数 4

如何提交本接口请求:http://www.omdbapi.com/

我正在尝试使用IMDB中的数据构建一个电子表格,例如标题、年份、预算、票房和流派。如何使用Python中的API获取此信息?我假设数据将是JSON,我如何解析它,然后提取我想要的信息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-09 14:53:29

我已经成功地使用了几次Flask来做这个事情。使用框架使事情变得简单,因为所有的工具都已经放在一起了。你可以阅读more about Flask here.

但是,如果您习惯于使用更手动的方法,则可以同时使用python和requests模块来访问RESTful json,这绝对没有问题。

示例可能如下所示:

代码语言:javascript
复制
import json, requests

url = 'http://example.com/endpoint/'

parameters = dict(
    field1='some value',
    field2='another value',
    field3='yet another value',
)

resp = requests.get(url=url, params=parameters)
data = json.loads(resp.text)
print data

编辑:

仔细看看这个问题,我才意识到使用IMDB API比我想象的更容易,只需发送一个带有您感兴趣的参数的GET请求即可。与之通信以获取有关电影《尖叫》的信息的实际工作示例如下:

代码语言:javascript
复制
import json, requests
url = "http://www.omdbapi.com/?t=scream"
response = requests.get(url)
python_dictionary_values = json.loads(response.text)

最后一行获取响应中返回的json,并将其转换为Python字典,然后您可以随意使用它。

如果您想对来自文件的输入多次执行此操作,您当然可以这样做。我的例子假设你有一个换行符分隔的文件,并且你搜索的所有电影都没有空格(如果你需要处理空格,你需要在URL中正确地对它们进行编码-否则我提供的代码将会中断)。

代码语言:javascript
复制
movies = {}
import json, requests
baseurl = "http://omdbapi.com/?t=" #only submitting the title parameter
with open("movies.txt", "r") as fin:
     for line in fin:
         movieTitle = line.rstrip("\n") # get rid of newline characters
         response = requests.get(url + movieTitle)
         if response.status_code == 200:
              movies[movieTitle] = json.loads(response.text)
         else:
              raise ValueError("Bad request!")
print movies['scream']
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36513597

复制
相关文章

相似问题

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