在同一个脚本python中使用来自一个请求的第二个url请求的数据

时间:2017-12-17 04:09:09

标签: python request

到目前为止我收到的第一个请求是fact n | n < 0 = error "fact only valid for non-negative integers" | n >= 0 && n <= 1 = 1 | otherwise = n * fact(n-1) 。然后我想使用返回Id's插入第二个url请求。是否可以在同一个脚本中发送两个请求,如果是,我将如何在第二个网址请求中执行draftgroupid

for i in range(draftgroupid)

import requests import json req1 = requests.get(url="https://www.draftkings.com/lobby/getcontests?sport=NHL") req.raise_for_status() data = req.json() for i, contest in enumerate(data['DraftGroups']): draftgroupid = contest['DraftGroupId']

Output of draftgroupid:
16901
16905
16902
16903

修改

req2 = requests.get(url="https://api.draftkings.com/draftgroups/v1/draftgroups/THEVALUEIWANTTOLOOPTHROUGH/draftables?format=json")

跑进import csv import requests import json req = requests.get(url="https://www.draftkings.com/lobby/getcontests?sport=NHL") req.raise_for_status() data = req.json() for i, contest in enumerate(data['DraftGroups']): draftgroupid = contest['DraftGroupId'] req2 = requests.get(url="https://api.draftkings.com/draftgroups/v1/draftgroups/" + str(draftgroupid) + "/draftables?format=json") data2 = req2.json for i, player_info in enumerate(data2['draftables'][0]): date = player_info['competition']['startTime'] print(date)

2 个答案:

答案 0 :(得分:2)

据我了解,您的问题与字符串操作有关,而不是与request库有关。

基本上,

import requests
import json

 req1 = requests.get(url="https://www.draftkings.com/lobby/getcontests?sport=NHL")
 req.raise_for_status()
 data = req.json()

 for i, contest in enumerate(data['DraftGroups']):
     draftgroupid = contest['DraftGroupId']
     requests.get(url="https://api.draftkings.com/draftgroups/v1/draftgroups/" + str(draftgroupid) + "/draftables?format=json")

应该做的工作。

可以在http://www.pythonforbeginners.com/concatenation/string-concatenation-and-formatting-in-python

找到更优雅的连接字符串的方法

修改

例如,

"some string " + str(123)
"some string %d" % 123
"some string %s" % 123

所有人都会提供相同的输出。有更多方法可以连接字符串。您只需根据上下文选择最合适的。

答案 1 :(得分:0)

()

我假设您实际上并不是for i, contest in enumerate(data['DraftGroups']): draftgroupid = contest['DraftGroupId'] req2 = requests.get(url="https://api.draftkings.com/draftgroups/v1/draftgroups/%d/draftables?format=json" % draftgroupid) ,正如您在问题中所述,因为这意味着发出16901个请求,然后是16905个请求(除了最后四个请求之外的所有请求都是第一批的重复),然后是16902个请求(其中所有都是重复的)等等。