使用screen来运行爬虫

By | 2019年4月15日

经常需要写几个小爬虫抓取点竞争对手的信息,通常需要几天甚至一周的时间。如果用ssh终端跑,那就不能关闭ssh窗口,几天都得保持连接状态,不然关闭ssh后,爬虫任务也就随之被kill掉。

也不方便使用nohup,因为不知道对方站点会出什么样的状况,如是否有反爬虫策略,是否把对方服务器搞成503,是否vps本地资源耗尽等等,需要
经常上ssh检查下实时采集情况,看看爬虫打印信息。

于是screen就派上用场了。直接命令行中键入

# screen
# python3 spider.py

然后就可以按下ctrl-a + d, 退出,然后出去健身了。跑个半马回来之后,先登陆找到之前的screen:

# screen -ls
# screen -r 16582

结果发现好多错误,心情瞬间爆炸……赶紧处理下…

说明:给screen发送命令使用了特殊的键组合 ctrl-a 。这是因为键盘上键入的信息是直接发送给当前screen窗口,必须用其他方式向screen窗口管理器发出命令,默认情况下,screen接收以 ctrl-a 开始的命令。这种命令形式在screen中叫做键绑定(key binding), ctrl-a 叫做命令字符(command character)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注