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 相关文章推荐
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
python中验证码连通域分割的方法详解
Jun 04 Python
利用Python进行数据可视化常见的9种方法!超实用!
Jul 11 Python
python将list转为matrix的方法
Dec 12 Python
Python 实现输入任意多个数,并计算其平均值的例子
Jul 16 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
Jul 30 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
我对PyTorch dataloader里的shuffle=True的理解
May 20 Python
利用Python判断整数是否是回文数的3种方法总结
Jul 07 Python
利用Python实现翻译HTML中的文本字符串
Jun 21 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
php 编写安全的代码时容易犯的错误小结
2010/05/20 PHP
php+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
PHP模板解析类实例
2015/07/09 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
jquery实现checkbox 全选/全不选的通用写法
2014/02/22 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
浅谈vue项目用到的mock数据接口的两种方式
2019/10/09 Javascript
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
简单的Python调度器Schedule详解
2019/08/30 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
html5中地理位置定位api接口开发应用小结
2013/01/04 HTML / CSS
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
给老师的感谢信
2015/01/20 职场文书
鼋头渚导游词
2015/02/05 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
2015年化验室工作总结
2015/04/23 职场文书
被委托人身份证明
2015/08/07 职场文书
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS