python爬虫学习18
高级用法其三
1.超时设置
# requests库中的请求方法下也提供了 timeout 参数我们可以设置该参数,防止过长时间服务器不能响应
# 超时设置
import requests
url = 'https://www.httpbin.org/get'
timeout = 0.5
resp = requests.get(url, timeout=timeout)
# 此处 timeout 设置为 0.5 意为超过0.5秒未响应时就自动抛出异常
print(resp.status_code)
运行结果:
实际上请求分为两个阶段:
- 连接(connect)
- 读取(read)
我们设置的timeout的时间是上两者的总和。既然知道请求由两部分组成,在设置timeout参数时,也可以传入一个元祖,分别设置连接和读取的时间限制:
import requests
url = 'https://www.httpbin.org/get'
timeout = (0.2, 0.3)
resp = requests.get(url, timeout=timeout)
print(resp.status_code)
运行结果:可以看到是连接部分超过了我们设置的时限所以抛出了异常
import requests
url