【发布时间】:2021-06-20 01:01:55
【问题描述】:
我正在尝试从 Twitch 的 API 请求直播主播列表。
首先,我需要检查来自特定 Twitch 团队的所有主播,API 会为我提供他们的 ID。然后,我需要检查哪些是实时的。为此,我编写了以下代码:
import requests
import json
from concurrent.futures import ThreadPoolExecutor
response = requests.get("https://api.twitch.tv/kraken/teams/rhynoesports",
headers={'Accept': 'application/vnd.twitchtv.v5+json',
'Client-ID': 'KEY'})
ids = []
with ThreadPoolExecutor(max_workers=5) as executor:
for i in response.json()["users"]:
uid = i["_id"]
ids.append(uid)
parameters = {
"channel": ids
}
response_live = requests.get("https://api.twitch.tv/kraken/streams/",
params=parameters,
headers={'Accept': 'application/vnd.twitchtv.v5+json',
'Client-ID': 'KEY'})
status = []
with ThreadPoolExecutor(max_workers=5) as executor:
for s in response_live.json()["streams"]:
sid = s["channel"]["display_name"]
sviewer = s["viewers"]
sgame = s["preview"]["medium"]
status.append(sid)
status.append(sviewer)
status.append(sgame)
print(status)
对 API 的第一个请求,将其附加到 ids 以下:
['151725719', '45737168', '156113210', '89293605', '650627666', '136014647',
'99060924', '246849290', '61610474', '602283265', '204979621', '507115885',
'49251436', '265876002', '155784200']
如何使用存储的ids 作为channel 请求的参数?
【问题讨论】:
标签: python api python-requests