当前位置: 首页 > 面试题库 >

Python请求模块,如何在for循环中发出多个请求?

太叔乐家
2023-03-14
问题内容

我想知道为什么当我这样依次调用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 html

import 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"



 类似资料:
  • 如果url正确,我在调试导航器中看不到任何队列,因为它没有再次调用方法。我在networking库中引用了相同的内容,但我想它的工作方式与我在NSURLSession中的工作方式相同,对吗? 案例:-我检查url是否存在,所以如果存在,就加载两个url(time.txt和image.png),否则调用WebService(XmlParser)&保留以下文件的url检查。 显示哪个存在。

  • 问题内容: 我正在尝试在node中制作简单的feed阅读器,并且遇到了node.js中多个请求的问题。例如,我得到的表带有如下网址: 现在,我想获取每个URL的内容。首先的想法是使用,但这不是一个好主意。最好的选择是异步执行,但我不知道如何制作。 有任何想法吗? 编辑: 我得到以下代码: 问题在于,首先是循环中每个元素的调用行“ http.get …”,并在该事件之后调用response.on(’

  • 问题内容: 我正在尝试动态读取数组(每个元素是一个字符串),并使用这些字符串值替换当前的硬编码用户名。这是用于在Bitbucket中创建拉取请求。 下面的#1和#2都属于同一类BitbucketUtil.groovy 2: 我猜想使用该函数(参数为),我可以替换函数内部的硬编码字符串。但是我不确定如何在“审阅者”下使用for循环,以便可以动态地输入值: 任何帮助将不胜感激。 问题答案: 如果定义了

  • 问题内容: 我必须在循环上进行一系列Ajax请求。其中约有100个。每个请求都返回一个JSONP变量。我从JSON提取数据,并将该值附加到div中。问题是我希望div以函数调用的顺序附加数据。即顺序。现在,我每次刷新页面时都会得到不同的顺序,具体取决于请求完成的顺序。这是我的代码。 当我在div中显示索引值时,每次我得到随机订单。有时是2 4 3 1 7,有时是1 5 2 7 4。我什至尝试asy

  • 我正在访问和API从巴西获得具体的公共预算。它需要定义年、月和页。我成功地使用for循环来获取我想要的2020年的信息,通过月{j}和页(str+1)进行循环。 我如何并行化以下内容(如果我可以将其转换为def函数并使用map就更好了)?

  • 问题内容: 给定以下代码(不起作用): 有没有办法使这项工作?或者,如果用户满意,我是否需要做一次检查以打破输入循环,然后再进行另一项(更受限制的)签入外部循环以一起打破? 问题答案: 我的第一个直觉是将嵌套循环重构为一个函数,然后使用它来分解。