1. 文件读写操作要进行加锁处理

防止程序出现阻塞情况,导致程序挂起。

  1. 尽量不要拆分任务

由于为了保持登录会话,防止爬虫死掉,将更新cookie的程序和爬虫程序分做了两个部分在CLI模式下运行,但是出现了爬虫不定时死亡的情况,没有任何报错的发生,程序也没有自动退出,而一直处于挂起状态。后来估计是cookie更新程序在写cookie文件时,爬虫程序正好在读cookie文件导致的。

  1. 注意文件写入和数据库的连接顺序

为了防止爬虫出现任何不可预料的错误,将程序产生的sql代码用于两个部分,一部分直接存储到文件,另一部分直接写入到数据库。

如果是以文件来校对数据库,那么文件的写入顺序应该放在数据库之前。反之亦然。

  1. 尽量减少文件操作而使用内存

最开始将产生的url(大约70万行)放到文件中,但代码运行的时候,内存占用异常高,后来放到数组内,内存占用一下就下去了。