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

在同一脚本python中使用一个请求中的数据作为第二个url请求,python,request,Python,Request,到目前为止,我得到的是收集Id的第一个请求。然后,我想使用该returndraftgroupid插入到第二个url请求中。是否可以在同一个脚本中发送两个请求,如果可以,我将如何在第二个url请求中为范围内的I(draftgroupid)执行 import requests import json req1 = requests.get(url="https://www.draftkings.com/lobby/getcontests?sport=NHL") req.raise_for_stat

到目前为止,我得到的是收集
Id的第一个请求。然后,我想使用该return
draftgroupid
插入到第二个url请求中。是否可以在同一个脚本中发送两个请求,如果可以,我将如何在第二个url请求中为范围内的I(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']
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)

遇到
类型错误:“method”对象不可下标

据我所知,您的问题与字符串操作有关,而不是与
请求
库有关

所以基本上

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")
我应该做这项工作

连接字符串的更优雅的方法可以在

编辑

比如说,

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

都将给出相同的输出。有更多的方法连接字符串。您只需要根据上下文选择最佳匹配。

据我所知,您的问题与字符串操作有关,而不是与
请求
库有关

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)
所以基本上

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")
我应该做这项工作

连接字符串的更优雅的方法可以在

编辑

比如说,

"some string " + str(123)
"some string %d" % 123
"some string %s" % 123
都将给出相同的输出。有更多的方法连接字符串。您只需要根据上下文选择最佳匹配

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)
我想你实际上并不是像你在问题中所说的那样,指的是范围内的I(draftgroupid),因为这意味着提出16901个请求,然后是16905个请求(除最后四个请求外,所有请求都是第一批的重复),然后是16902个请求(其中所有请求都是重复的),等等



我想你实际上并不是像你在问题中所说的那样,指的是范围内的I(draftgroupid),因为这意味着提出16901个请求,然后是16905个请求(除最后四个请求外,所有请求都是第一批的副本),然后是16902个请求(其中所有请求都是副本),等等。

是的,如果只有服务器不阻止您的请求,您甚至可以发送一百万个请求。您所说的“插入第二个url请求”是什么意思?第一个请求收集Id并存储为
draftgroupid
。在
req2
之后,
输出下的
是我想要运行和循环的内容,该Id位于url名称的位置
请求中的ValueIwantToLoopthrough
元素可以以不同的方式发送:url中的文本、标头、cookie、正文中的表单数据、正文中的json数据。您必须阅读服务器文档以查看它需要哪种方法。url是普通字符串,因此您可以使用string.replace()或字符串格式创建新的url。是的,如果只有服务器不阻止您的请求,您甚至可以发送一百万个请求。您所说的“插入第二个url请求”是什么意思?第一个请求收集Id并存储为
draftgroupid
。在
req2
之后,
输出下的
是我想要运行和循环的内容,该Id位于url名称的位置
请求中的ValueIwantToLoopthrough
元素可以以不同的方式发送:url中的文本、标头、cookie、正文中的表单数据、正文中的json数据。您必须阅读服务器文档以查看它需要哪种方法。url是普通字符串,因此可以使用string.replace()或字符串格式创建新url。
TypeError:必须是str,而不是int
。谢谢你的快速回复。我试过了,得到了答案typeerror@MichaelTJohnson编辑了答案。如果答案回答了你的问题,请接受。谢谢你提供的额外示例。这有助于初学者理解语言!你让我们猜测在那个大代码块中错误发生在哪里。编辑问题以包含代码和完整的错误消息。
data2=req2.json
应该是
data2=req2.json()
。您忘记了
()
s.
类型错误:必须是str,而不是int
。谢谢你的快速回复。我试过了,得到了答案typeerror@MichaelTJohnson编辑了答案。如果答案回答了你的问题,请接受。谢谢你提供的额外示例。这有助于初学者理解语言!你让我们猜测在那个大代码块中错误发生在哪里。编辑问题以包含代码和完整的错误消息。
data2=req2.json
应该是
data2=req2.json()
。您忘记了
()
s。