浅析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使用Flask框架获取用户IP地址的方法
Mar 21 Python
python结合opencv实现人脸检测与跟踪
Jun 08 Python
python+os根据文件名自动生成文本
Mar 21 Python
python实现kmp算法的实例代码
Apr 03 Python
Python爬虫动态ip代理防止被封的方法
Jul 07 Python
pytorch 实现删除tensor中的指定行列
Jan 13 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
Django values()和value_list()的使用
Mar 31 Python
python使用selenium爬虫知乎的方法示例
Oct 28 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
python爬虫搭配起Bilibili唧唧的流程分析
Dec 01 Python
python迷宫问题深度优先遍历实例
Jun 20 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
程序员编程十条戒律
2009/07/09 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
List the Codec Files on a Computer
2007/06/18 Javascript
JS解密入门之凭直觉解
2008/06/25 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
python实现词法分析器
2019/01/31 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
美的官方商城:Midea
2016/09/14 全球购物
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
探矿工程师自荐信
2014/01/24 职场文书
《散步》教学反思
2014/03/02 职场文书
旅游市场营销方案
2014/03/09 职场文书
服务承诺书怎么写
2014/05/24 职场文书
单位委托书怎么写
2014/09/21 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
收入证明范本
2015/06/12 职场文书
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers