我想知道为什么当我这样依次调用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"
"www.foo.com\n"
"www.foo.com"