在为毕业论文所需的数据困扰,构建了代理池,开始了多进程爬虫后,总是有子进程因为抓取不到有效ip而死亡,就是在向代理池request的过程中出来的结果不是success而是error,我写了一个筛选的循环,但是始终无法输出正确的结果,还是会输出错误结果,请各位帮我。
def get():
url = 'http://147.1.1.3:9000/'
res = requests.get(url).json()#获取代理ip与user agent
if res['status'] =='success': #res中状态为成功就输出,失败就继续get()
proxies = res['data']['proxies']
ua= res['data']['ua']
#print('ok')
# print(proxies)
# print(ua)
return proxies,ua
else:
get()
问题出在哪里,结果还是会输出error的结果
你的代理池是一个web服务吧?你的代理IP是怎样保存的,你将代理IP写在数据库,然后通过web方式提供api接口给你获取,在web的服务器做个一个功能,就是不停地使用代理IP,看能不能访问成功,成功就保留,不成功就删除,这样就能保证代理池的IP都是有效的