Python请求模块,如何在for循环中发出多个请求?
我想知道为什么当我这样依次调用request.get()方法时:
response = requests.get(url.format("set"))print(response.status_code)
response = requests.get(url.format("map"))
print(response.status_code)
response = requests.get(url.format("list"))
print(response.status_code)
response = requests.get(url.format("vector"))
print(response.status_code)
response = requests.get(url.format("string"))
print(response.status_code)
我对所有请求的状态都良好,但是当我在for循环中执行该状态时,例如:
for word in fIn : response = requests.get(url.format(word))
if(response.status_code == 200):
print "OK"
else:
print(response.status_code)
print "Error"
print word
除最后一个请求外,所有请求我都得到400(错误)。
附加信息:SO上有一个相关的问题,其中提到了两种应对这种情况的方法:等待,标题。
在我的情况下 以及标题中,wait不起作用-我不知道在那里提供了什么。
更新:我正在尝试实现的特定版本:
from lxml import htmlimport requests
fOut = open("descriptions.txt","w")
with open('dummyWords.txt') as fIn:
for word in fIn :
print word
response = requests.get(url.format(word))
if(response.status_code == 200):
print "OK"
else:
print(response.status_code)
print(word)
回答:
您需要 删除 尾随的换行符:
with open('dummyWords.txt') as fIn: for word in map(str.strip, fIn) :
它适用于最后一个,因为您显然在文件中最后一个单词的末尾没有换行符。"www.foo.com\n"
与…不同"www.foo.com"
以上是 Python请求模块,如何在for循环中发出多个请求? 的全部内容, 来源链接: utcz.com/qa/406522.html