我正在使用Twitch API,我在理解如何从中提取数据时遇到了问题。
我调用API,这是我得到的那种响应:
"name":"user1", "game":"game1","name":"user2", "game":"game2"
我知道我需要使用一些.split()
,但我无法弄清楚每次尝试时都会得到一个空白输出。
我需要的数据是user1
,game1
,user2
,game2
这些数据重复了几次,我无法找到如何从大量其他数据中提取这些数据。
任何链接或建议都将不胜感激,我找不到像这样的大数据提取的任何参考
修改
在被告知之后是json数据我编辑了代码以适当地解析它。但我一直收到错误:AttributeError: 'unicode' object has no attribute 'get'
以下是代码:
import urllib2
import json
url = "https://api.twitch.tv/kraken/channels/'Mychannel'/follows/"
if __name__ == "__main__":
req = urllib2.Request(url)
opener = urllib2.build_opener()
f = opener.open(req)
json = json.load (f)
for item in json:
print item.get('name')
有关此错误发生原因的任何建议吗?
答案 0 :(得分:4)
响应是json数据;使用json
模块解析它。
答案 1 :(得分:0)
假设您正在接收字符串,例如:
>>> a = '"name":"user1", "game":"game1","name":"user2", "game":"game2"'
>>> a
'"name":"user1", "game":"game1","name":"user2", "game":"game2"'
您可以通过","
进行拆分来获得第一次拆分>>> mlist = a.split(",")
>>> mlist
['"name":"user1"', ' "game":"game1"', '"name":"user2"', ' "game":"game2"']
现在您可以通过循环访问每个元素的数据:
>>> for e in mlist:
print("Data:", e.split(":")[1])
('Data:', '"user1"')
('Data:', '"game1"')
('Data:', '"user2"')
('Data:', '"game2"')