python中用Scrapy实现定时爬虫的实例讲解


Posted in Python onJanuary 18, 2021

一般网站发布信息会在具体实现范围内发布,我们在进行网络爬虫的过程中,可以通过设置定时爬虫,定时的爬取网站的内容。使用python爬虫框架Scrapy框架可以实现定时爬虫,而且可以根据我们的时间需求,方便的修改定时的时间。

1、Scrapy介绍

Scrapy是python的爬虫框架,用于抓取web站点并从页面中提取结构化的数据。任何人都可以根据需求方便的修改。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

2、使用Scrapy框架定时爬取

import time
from scrapy import cmdline
def doSth():
  # 把爬虫程序放在这个类里 zhilian_spider 是爬虫的name
  cmdline.execute('scrapy crawl zhilian_spider'.split())
# 想几点更新,定时到几点
def time_ti(h=17, m=54):
  while True:
    now = datetime.datetime.now()
    # print(now.hour, now.minute)
    if now.hour == h and now.minute == m:
      doSth()
    # 每隔60秒检测一次
    time.sleep(60)
time_ti()

3、更简单的写法

import time
import sys
import os
import datetime
def Dingshi():
while True:
os.system("scrapy crawl lcp")#lcp是我们爬虫的代码名字哦
time.sleep(60)
Dingshi()

知识点扩展:

直接使用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模块中自带的,所以定时执行时只能执行一次就退出了。

到此这篇关于python中用Scrapy实现定时爬虫的实例讲解的文章就介绍到这了,更多相关python中使用Scrapy实现定时爬虫内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python编写百度贴吧的简单爬虫
Apr 02 Python
Python实现获取域名所用服务器的真实IP
Oct 25 Python
python使用matplotlib绘制折线图教程
Feb 08 Python
使用python遍历指定城市的一周气温
Mar 31 Python
Python实现的圆形绘制(画圆)示例
Jan 31 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
Django之模板层的实现代码
Sep 09 Python
关于Tensorflow分布式并行策略
Feb 03 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
OpenCV+python实现实时目标检测功能
Jun 24 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 Python
Python集合set()使用的方法详解
Mar 18 Python
java关于string最常出现的面试题整理
Jan 18 #Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 #Python
python中四舍五入的正确打开方式
Jan 18 #Python
PyQt5中QSpinBox计数器的实现
Jan 18 #Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 #Python
PyQt实现计数器的方法示例
Jan 18 #Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 #Python
You might like
单位速度在实战中的运用
2020/03/04 星际争霸
PHP校验ISBN码的函数代码
2011/01/17 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
ECMAScript 基础知识
2007/06/29 Javascript
javascript中的array数组使用技巧
2010/01/31 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
深入理解js promise chain
2016/05/05 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
Python实现的计数排序算法示例
2017/11/29 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
python中的decimal类型转换实例详解
2019/06/26 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
python区分不同数据类型的方法
2019/10/14 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
使用NumPy读取MNIST数据的实现代码示例
2019/11/20 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
电子信息工程专业推荐信
2014/02/14 职场文书
本科应届生自荐信
2014/06/29 职场文书
公司地址变更通知
2015/04/25 职场文书
国博复兴之路观后感
2015/06/02 职场文书
仙境之桥观后感
2015/06/16 职场文书
九年级语文教学反思
2016/03/03 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
解决mysql的int型主键自增问题
2021/07/15 MySQL
Nginx工作模式及代理配置的使用细节
2022/03/21 Servers