python爬虫重新连接的问题

树梢上的阿飞啊 2018-01-25 10:22:36
求助大佬,我利用爬虫爬取网上的数据,但是当网络断开重新连接的时候爬虫的请求就会一直失败,无法重新爬去数据,只能重新启动程序,这样太麻烦了。
def getcatalog(self,url,data,header,ip):
n = 0
while True:
try:
HTML = requests.post(url,data,header,proxies = ip)
n = 0
return HTML.text
except Exception:
HTML.close()
ip = choice(global_var.ip_list).split(':', 1) #更换ip
global_var.IP = {'http': ip[1]}
n += 1
if n >= 5:
print('请求失败,1分钟后重新连接')
n = 0
time.sleep(60)
else:
print('请求异常,以更换代理IP,5秒后重新发起请求')
time.sleep(5)

我断开网络后重新连接就无法重新爬去数据,只能重新启动程序
...全文
520 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
天啦,我傻逼了,偷懒捕捉的异常全是Exception,没有打印异常异常信息,错误的地方根本就不是这里,是我变量名重名导致的,以后再也不偷懒了,谢谢大佬提点
oyljerry 2018-01-25
  • 打赏
  • 举报
回复
客户端重新连接失败的时候,错误信息是什么,然后看代码应该如何处理
本门课程重实战,将基础知识拆解到项目里,让你在项目情境里学知识。 这样的学习方式能让你保持兴趣、充满动力,时刻知道学的东西能用在哪、能怎么用。 平时不明白的知识点,放在项目里去理解就恍然大悟了。   一、融汇贯通 本视频采用了前后端分离的开发模式,前端使用Vue.js+Element UI实现了Web页面的呈现,后端使用Python 的Django框架实现了数据访问的接口,前端通过Axios访问后端接口获得数据。在学习完本章节后,真正理解前后端的各自承担的工作。   二、贴近实战 本系列课程为练手项目实战:学生管理系统v4.0的开发,项目包含了如下几个内容:项目的总体介绍、基本功能的演示、Vuejs的初始化、Element UI的使用、在Django中实现针对数据的增删改查的接口、在Vuejs中实现前端增删改查的调用、实现文件的上传、实现表格的分页、实现导出数据到Excel、实现通过Excel导入数据、实现针对表格的批量化操作等等,所有的功能都通过演示完成、贴近了实战   三、课程亮点 在本案例中,最大的亮点在于前后端做了分离,真正理解前后端的各自承担的工作。前端如何和后端交互   适合人群: 1、有Python语言基础、web前端基础,想要深入学习Python Web框架的朋友; 2、有Django基础,但是想学习企业级项目实战的朋友; 3、有MySQL数据库基础的朋友  

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧