擅长:python、mysql、java
<p>在将变量i连接到url字符串之前,似乎没有将其强制转换为整数。这可能就是为什么你的代码不起作用的原因。while循环/for循环方法不应该影响请求是否被发送。我建议也使用requests模块进行请求。Mike的帖子涵盖了函数应该是什么样的。如果要在一段代码中发出大量请求,我还建议创建sessions对象。sessions对象将在您发出请求时保持底层TCP连接打开,这将减少延迟、CPU使用和网络拥塞(<a href="https://en.wikipedia.org/wiki/HTTP_persistent_connection#Advantages" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/HTTP_persistent_connection#Advantages</a>)。代码如下所示:</p>
<pre><code>import requests
with requests.Session() as s:
for i in range(10):
s.get(str(i)+'.com') # make request
# write to file here
</code></pre>
<p>要转换为字符串,您可能需要以下内容:</p>
<pre><code> i = 0
while i<51
i = i +1
urllib.request.urlretrieve( i , "Liste n°0" + str(i) + ".txt")
</code></pre>