我编写了一个pythonyt脚本来获取频道和播放列表信息。 我的Python脚本有以下JSON输出:
{'etag': '"p4VTdlkQv3HQeTEaXgvLePAydmU/ptsLJl-r_dDEzokkl3Kso2SZgL0"',
'items': [{'etag': '"p4VTdlkQv3HQeTEaXgvLePAydmU/9F4RmINu4drT-fTZjviHFXj3Yak"',
'id': 'PLejO9z7yhQOxjONeDVWaAy3kX3tEcImCR',
'kind': 'youtube#playlist',
'snippet': {'channelId': 'UC_ANPr8IkWibKlKhmi_-H1g',
'channelTitle': 'haramaininfo',
'description': '',
'localized': {'description': '',
'title': 'Eid Takbeerat 1440'},
'publishedAt': '2019-06-04T06:30:13.000Z',
'thumbnails': {'default': {'height': 90,
'url': 'https://i.ytimg.com/vi/HcEZMA0KJDg/default.jpg',
'width': 120},
'high': {'height': 360,
'url': 'https://i.ytimg.com/vi/HcEZMA0KJDg/hqdefault.jpg',
'width': 480},
'maxres': {'height': 720,
'url': 'https://i.ytimg.com/vi/HcEZMA0KJDg/maxresdefault.jpg',
'width': 1280},
'medium': {'height': 180,
'url': 'https://i.ytimg.com/vi/HcEZMA0KJDg/mqdefault.jpg',
'width': 320},
'standard': {'height': 480,
'url': 'https://i.ytimg.com/vi/HcEZMA0KJDg/sddefault.jpg',
'width': 640}},
'title': 'Eid Takbeerat 1440'}},
{'etag': '"p4VTdlkQv3HQeTEaXgvLePAydmU/0vwPehiWj-5tfpY0dosabZkUwbI"',
'id': 'PLejO9z7yhQOwt7OKSMVLdAe4jeYDpZNJC',
'kind': 'youtube#playlist',
'snippet': {'channelId': 'UC_ANPr8IkWibKlKhmi_-H1g',
'channelTitle': 'haramaininfo',
'description': '',
'localized': {'description': '',
'title': 'Makkah Taraweeh 1440 (2019)'},
'publishedAt': '2019-04-27T13:28:47.000Z',
'thumbnails': {'default': {'height': 90,
'url': 'https://i.ytimg.com/vi/h9pn4qQqJTU/default.jpg',
'width': 120},
'high': {'height': 360,
'url': 'https://i.ytimg.com/vi/h9pn4qQqJTU/hqdefault.jpg',
'width': 480},
'medium': {'height': 180,
'url': 'https://i.ytimg.com/vi/h9pn4qQqJTU/mqdefault.jpg',
'width': 320}},
'title': 'Makkah Taraweeh 1440 (2019)'}},
{'etag': '"p4VTdlkQv3HQeTEaXgvLePAydmU/qUNlGZC0dbvnetbNDH5EBW_6yLA"',
'id': 'PLejO9z7yhQOzJ068ZMLd0Zub_FOrGJ82y',
'kind': 'youtube#playlist',
'snippet': {'channelId': 'UC_ANPr8IkWibKlKhmi_-H1g',
'channelTitle': 'haramaininfo',
'description': '',
'localized': {'description': '',
'title': 'Madeenah Taraweeh 1440 (2019)'},
'publishedAt': '2019-04-27T13:28:20.000Z',
'thumbnails': {'default': {'height': 90,
'url': 'https://i.ytimg.com/vi/CWNlyYtUTVE/default.jpg',
'width': 120},
'high': {'height': 360,
'url': 'https://i.ytimg.com/vi/CWNlyYtUTVE/hqdefault.jpg',
'width': 480},
'maxres': {'height': 720,
'url': 'https://i.ytimg.com/vi/CWNlyYtUTVE/maxresdefault.jpg',
'width': 1280},
'medium': {'height': 180,
'url': 'https://i.ytimg.com/vi/CWNlyYtUTVE/mqdefault.jpg',
'width': 320},
'standard': {'height': 480,
'url': 'https://i.ytimg.com/vi/CWNlyYtUTVE/sddefault.jpg',
'width': 640}},
'title': 'Madeenah Taraweeh 1440 (2019)'}},
{'etag': '"p4VTdlkQv3HQeTEaXgvLePAydmU/9ImuAJ6f9CNNHDLCZ7WY80GeT1g"',
'id': 'PLejO9z7yhQOx8ZrJYJ3o5zckygwvtUb1R',
'kind': 'youtube#playlist',
'snippet': {'channelId': 'UC_ANPr8IkWibKlKhmi_-H1g',
'channelTitle': 'haramaininfo',
'description': '',
'localized': {'description': '',
'title': 'Madeenah Witr 1440 (2019)'},
'publishedAt': '2019-04-27T13:27:34.000Z',
'thumbnails': {'default': {'height': 90,
'url': 'https://i.ytimg.com/vi/Qjyd94QSutw/default.jpg',
'width': 120},
'high': {'height': 360,
'url': 'https://i.ytimg.com/vi/Qjyd94QSutw/hqdefault.jpg',
'width': 480},
'maxres': {'height': 720,
'url': 'https://i.ytimg.com/vi/Qjyd94QSutw/maxresdefault.jpg',
'width': 1280},
'medium': {'height': 180,
'url': 'https://i.ytimg.com/vi/Qjyd94QSutw/mqdefault.jpg',
'width': 320},
'standard': {'height': 480,
'url': 'https://i.ytimg.com/vi/Qjyd94QSutw/sddefault.jpg',
'width': 640}},
'title': 'Madeenah Witr 1440 (2019)'}},
{'etag': '"p4VTdlkQv3HQeTEaXgvLePAydmU/tghRJYmcElUo0PCD23-bkBwOcZ4"',
'id': 'PLejO9z7yhQOxx6XqB6DLvQd0-IDpb299H',
'kind': 'youtube#playlist',
'snippet': {'channelId': 'UC_ANPr8IkWibKlKhmi_-H1g',
'channelTitle': 'haramaininfo',
'description': '',
'localized': {'description': '',
'title': 'Makkah Witr 1440 (2019)'},
'publishedAt': '2019-04-27T13:27:12.000Z',
'thumbnails': {'default': {'height': 90,
'url': 'https://i.ytimg.com/vi/yjLrG4LVv3Q/default.jpg',
'width': 120},
'high': {'height': 360,
'url': 'https://i.ytimg.com/vi/yjLrG4LVv3Q/hqdefault.jpg',
'width': 480},
'maxres': {'height': 720,
'url': 'https://i.ytimg.com/vi/yjLrG4LVv3Q/maxresdefault.jpg',
'width': 1280},
'medium': {'height': 180,
'url': 'https://i.ytimg.com/vi/yjLrG4LVv3Q/mqdefault.jpg',
'width': 320},
'standard': {'height': 480,
'url': 'https://i.ytimg.com/vi/yjLrG4LVv3Q/sddefault.jpg',
'width': 640}},
'title': 'Makkah Witr 1440 (2019)'}}],
'kind': 'youtube#playlistListResponse',
'nextPageToken': 'CAUQAA',
'pageInfo': {'resultsPerPage': 5, 'totalResults': 137}}
我用Python编写了以下代码来提取某些数据:
pprint.pprint(jdata)
for item in jdata:
print("Title: {}\nid: {}\nurl: {}\n".format(item['title'], item['id'], item['url']))
但这是我运行代码时返回的错误:
print("Title: {}\nid: {}\nurl: {}\n".format(item['title'], item['id'], item['url']))
TypeError: string indices must be integers, not str
如何正确提取数据?你知道吗
这是一个嵌套的dict,除了
id
之外,其他两个(title
和url
)是snippet
的直接/间接子键,它本身嵌套在items
数组中。因此,我们应该循环这个数组并深入到snippet
树中,以便能够访问它们的值。而且,url
可以具有default
、standard
、high
、maxres
和medium
的值。下面的代码片段显示了url
键的default
值。如果要访问任何其他分辨率类型的值,则必须相应地进行修改。你知道吗相关问题 更多 >
编程相关推荐