学科分类
目录
网络爬虫

超时设置

假设有个需求,我们要爬取1000个网站,如果其中有100个网站需要等待30s才能返回数据,那如果要返回所有的数据,至少需要等待3000秒。如此长时间的等待显然是不可行的,为此,我们可以为HTTP请求设置超时时间,一旦超过这个时间,服务器还没有返回响应内容,那么就会抛出一个超时异常,这个异常需要使用try语句来捕获。

例如,我们使用快代理(一个开放代理网站)中的一个IP,它的响应速度需要2秒。此时,如果将超时时间设置为1秒,那么程序会抛出异常。具体代码如下:

import urllib.request
try:
   url = 'http://218.56.132.157:8080'
      file = urllib.request.urlopen(url, timeout=1) # timeout设置超时的时间
      result = file.read()
      print(result)
except Exception as error:
     print(error)

运行程序后,输出结果为:

 <urlopen error timed out>
点击此处
隐藏目录