我正在尝试编写程序,该程序将检查哪些代理处于活动状态。 当我的脚本尝试连接到代理时,该代理不起作用,该过程最多可能需要30秒钟。当我检查成千上万的代理服务器列表时,它将使脚本的工作时间增加几个小时。
当连接时间超过5秒时,是否有可能中断此功能。
def get(url, proxy):
proxies = {
'http': 'http://'+proxy,
'https': 'https://'+proxy
}
s = requests.Session()
s.headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
s.proxies = proxies
r = s.get(url)
return [r.status_code, r.reason, r.text]
with open('proxy.txt') as ips:
for ip in ips:
ip = ip.split('\n', 1)[0]
try:
get(url, ip)
with open('working.txt', 'a') as the_file:
the_file.write(ip+'\n')
except:
print("error")
谢谢
答案 0 :(得分:1)
将timeout
kwarg与s.get
一起使用。 s.get(url, timeout=5)