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调用java的Webservice示例
Mar 10 Python
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
Python从数据库读取大量数据批量写入文件的方法
Dec 10 Python
Python中面向对象你应该知道的一下知识
Jul 10 Python
django基于存储在前端的token用户认证解析
Aug 06 Python
python实现简单井字棋小游戏
Mar 05 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 Python
Pandas DataFrame求差集的示例代码
Dec 13 Python
Python 求向量的余弦值操作
Mar 04 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错误级别的设置方法
2013/06/17 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
选择器中含有空格在使用示例及注意事项
2013/07/31 Javascript
Nodejs极简入门教程(三):进程
2014/10/27 NodeJs
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
AngularJS下对数组的对比分析
2016/08/24 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
AngularJs分页插件使用详解
2018/06/30 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
python函数返回多个值的示例方法
2013/12/04 Python
Python基本语法经典教程
2016/03/11 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
应届毕业生求职信范文分享
2013/12/26 职场文书
高三地理教学反思
2014/01/11 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
秦兵马俑导游词
2015/02/02 职场文书
大学四年个人总结
2015/03/03 职场文书
微信小程序实现轮播图指示器
2022/06/25 Javascript