在同一脚本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的第一个请求。然后,我想使用该returndraftgroupid
插入到第二个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。