分类

  1. 通过scrapy框架的扩展进行检测
  2. 通过脚本定时进行进程的检测,然后杀死进程
  3. 通过制定时间进行爬虫的关闭(配置设置)

scrapy框架的扩展(推荐)

书写扩展文件extensions.py,在setting中设置一下内容

'EXTENSIONS'= {
'路径信息.extensions.检测爬虫的类方法': 500,
},

详细的可以参考一下文章,这里不多介绍啦

https://cloud.tencent.com/developer/article/1406573

脚本检测

写爬虫的同学对于任务的调度通常不会采用linux系统的contab而是采用专门的调度系统,当然就算是哦使用contab我们也可以写一个shell脚本,然后让contab来定时进行调度,当然这个情况适用的基本上基本上是关于人物的关闭,而不是任务执行结束而执行

脚本案例如下

JOB_NAME = 任务的名称		# 这个名称通常是ps能查看到的任务
# 这个名字一定要尽可能的详细或者唯一,不然在哦pkill的时候将会杀死自己不想杀死的任务
ProcNumber=`ps -ef |grep -w $JOB_NAME|grep -v grep|wc -l`
if [ $ProcNumber -le 0 ];then
   echo "JOB crawler is not run"
else
   echo "JOB crawler is  running,will be killed!"
   pkill -f 任务名称		# 这里前面的任务名是一样的
fi

定时进行关闭

在setting中设置指定的参数,缺点就是无法进行判断队列中的任务是否去哪不消耗

CLOSESPIDER_TIMEOUT

CLOSESPIDER_ITEMCOUNT

CLOSESPIDER_PAGECOUNT

CLOSESPIDER_ERRORCOUNT

详细的可以参考官方文档
https://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/overview.html

本人对爬虫的理解不深,可能说的有不对的地方,所以希望有说的不对的地方大家可以帮忙指出

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐