给定视频的 URL,我想在 python 3.2 中检索和使用基本的 Vimeo 数据。我是 JSON(和 Python)的新手,但它看起来很适合做这件事。
- 请求 Vimeo 视频数据(通过 API 格式的 .json URL)
- 将返回的JSON数据转换为python dict
- 显示字典键和数据(“id”、“title”、“description”等)
另一个 SO 页面 Get json data via url and use in python在 python 2.x 中做了类似的事情,但语法更改(如集成 urllib2)让我尝试了这个。
>>> import urllib
>>> import json
>>> req = urllib.request.urlopen("http://vimeo.com/api/v2/video/31161781.json")
>>> opener = urllib.request.build_opener()
>>> f = opener.open(req)
Traceback (most recent call last):
File "<pyshell#28>", line 1, in <module>
f = opener.open(req)
File "C:\Python32\lib\urllib\request.py", line 358, in open
protocol = req.type
AttributeError: 'HTTPResponse' object has no attribute 'type'
此代码将集成到现有项目中,因此我不得不使用 python。我对 HTTP 查询的了解足以猜测该响应对象中的数据,但对 python 的了解还不足以理解打开失败的原因以及如何正确引用它。我应该尝试什么而不是 opener.open(req)?
请您参考如下方法:
这对我有用:
import urllib.request, json
response = urllib.request.urlopen('http://vimeo.com/api/v2/video/31161781.json')
content = response.read()
data = json.loads(content.decode('utf8'))
或请求:
import requests
data = requests.get('http://vimeo.com/api/v2/video/31161781.json').json()
