浅析python实现scrapy定时执行爬虫


Posted in Python onMarch 04, 2018

项目需要程序能够放在超算中心定时运行,于是针对scrapy写了一个定时爬虫的程序main.py ,直接放在scrapy的存储代码的目录中就能设定时间定时多次执行。

最简单的方法:直接使用Timer类

import time
import os
while True:
  os.system("scrapy crawl News")
  time.sleep(86400) #每隔一天运行一次 24*60*60=86400s或者,使用标准库的sched模块
import sched
#初始化sched模块的scheduler类
#第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。
schedule = sched.scheduler ( time.time, time.sleep )
#被周期性调度触发的函数
def func():
  os.system("scrapy crawl News")
def perform1(inc):
  schedule.enter(inc,0,perform1,(inc,))
  func()  # 需要周期执行的函数
def mymain():
  schedule.enter(0,0,perform1,(86400,))
if __name__=="__main__":
  mymain()
  schedule.run() # 开始运行,直到计划时间队列变成空为止关于cmd的实现方法,本人在单次执行爬虫程序时使用的是 
cmdline.execute("scrapy crawl News".split())但可能因为cmdline是scrapy模块中自带的,所以定时执行时只能执行一次就退出了。

小伙伴有种方法是使用

import subprocess
subprocess.Popen("scrapy crawl News")

她的程序运行正常可以定时多次执行,而我的却直接退出了,改为

from subprocess import Popen
subprocess.Popen("scrapy crawl News")

才正常,不知道为什么会这样,如果有大神可以解释原因还请指点。

反正

os.system、subprocess.Popen

都是pythoncmd的实现方法,可以根据需要选择使用。

总结

以上所述是小编给大家介绍的python实现scrapy定时执行爬虫,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
Python map和reduce函数用法示例
Feb 26 Python
python3使用urllib模块制作网络爬虫
Apr 08 Python
Python多进程同步简单实现代码
Apr 27 Python
Python面向对象编程基础解析(一)
Oct 26 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
python逆向入门教程
Jan 15 Python
TensorFlow实现创建分类器
Feb 06 Python
Python时间序列处理之ARIMA模型的使用讲解
Apr 02 Python
python 实现单通道转3通道
Dec 03 Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
Mar 04 #Python
Python爬虫框架Scrapy实例代码
Mar 04 #Python
详解python中asyncio模块
Mar 03 #Python
python3.6+django2.0开发一套学员管理系统
Mar 03 #Python
python爬虫面试宝典(常见问题)
Mar 02 #Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 #Python
谈谈python中GUI的选择
Mar 01 #Python
You might like
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
定义select的边框颜色
2008/04/28 Javascript
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
Python使用windows设置定时执行脚本
2020/11/12 Python
Django自带的用户验证系统实现
2020/12/18 Python
css3中的calc函数浅析
2018/07/10 HTML / CSS
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
深圳茁壮笔试题
2015/05/28 面试题
Servlet面试题库
2015/07/18 面试题
函授本科自我鉴定
2013/11/03 职场文书
小学教师岗位职责
2013/11/25 职场文书
投标承诺书怎么写
2014/05/24 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书