经常爬着爬着就返回意外或者报错了,而且出现意外的点不止一处,难以预测,全都套 try 有点多。
对 python 的错误处理不大了解,有什么精炼的应对方法嘛?至少出了错能出点声或者发个邮件啥的。
有人指点一下嘛?
经常爬着爬着就返回意外或者报错了,而且出现意外的点不止一处,难以预测,全都套 try 有点多。
对 python 的错误处理不大了解,有什么精炼的应对方法嘛?至少出了错能出点声或者发个邮件啥的。
有人指点一下嘛?
|
jugeliziOct 27, 2018
1
观察者
监听一下多久没反应就告警呗 |
|
Trim21Oct 27, 2018 via Android
2
try: start_spider()
except: beep() |
|
3
@Trim21 这么粗放的嘛……
|
|
lhx2008Oct 27, 2018
4
你这样 try 就没有问题啊
try: try: except: ... throw Exception try: except: ... throw Exception try: except: ... throw Exception try: except: ... throw Exception try: except: ... throw Exception except: beep() |
|
5
print("\a")
|
|
ninestepOct 27, 2018
6
首先,经常出错你就得检查一下你的代码了,如果是固定的一些地方出错,那就加异常捕获把,如果是随机出错,那就写个进程守护就好了嘛,supervisord 好像有邮件报警的功能
|
|
sericalOct 27, 2018 via Android
7
mac 调起 shell say xxx
|
|
8
@ninestep 现在就是错一次打一点补丁,但就是经常过了几个小时才想起来看一眼。
|
|
ysc3839Oct 27, 2018 via Android
9
简单的话可以 print 一个 bell 字符,终端一般会响。
复杂的话根据平台发送通知。Python 应该有现成的库。 |
|
10
@misaka19000 这个第一次知道,666。加了一秒延迟,无限循环了。
|
|
billiepanderOct 27, 2018
11
用 supervisor autorestart 它吧
|
|
scriptB0yOct 27, 2018
12
sentry, systemd
不过最靠谱的还是碰到问题 LOG 下来,或者写到 csv 里面,程序继续跑。 后面根据出错的日志将错误的信息重新搞一下。 |
|
13
@scriptB0y 我是爬取同时就清洗了,另外有分析程序实时就输出结果了,所以会遇到一些意外情况。
有时候是返回意外情况,有时候是对方程序员数据库里写错类型,或者还会有蜜罐之类的。 如果是死活不管先都爬下来,另外跑一个清洗流程,倒是可以。 但也会碰到相应的弊端,比如爬到错误内容而没有及时察觉。 |
|
cnitOct 28, 2018
14
用 server 酱
|