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中ConfigParse模块的用法
Sep 29 Python
Python的函数的一些高阶特性
Apr 27 Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 Python
Python 反转字符串(reverse)的方法小结
Feb 20 Python
Python3读取Excel数据存入MySQL的方法
May 04 Python
python爬取足球直播吧五大联赛积分榜
Jun 13 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
Python实现括号匹配方法详解
Feb 10 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实现加密的几种方式介绍
2015/02/22 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
学习jquery之一
2007/04/27 Javascript
JavaScript 调试器简介
2009/02/21 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
js获取url传值的方法
2015/12/18 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
js验证账户名是否重复
2020/05/26 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
Vue实现手机计算器
2020/08/17 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
[02:39]DOTA2国际邀请赛助威团西雅图第一天
2013/08/08 DOTA
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
小学教师的自我评价范例
2013/10/31 职场文书
报效祖国演讲稿
2014/09/15 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
先进集体申报材料
2014/12/25 职场文书
离婚案件原告代理词
2015/05/23 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript