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+Selenium自动化实现分页(pagination)处理
Mar 31 Python
Python中的Django基本命令实例详解
Jul 15 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
Oct 30 Python
Python中垃圾回收和del语句详解
Nov 15 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
Python实现定时自动关闭的tkinter窗口方法
Feb 16 Python
python ddt数据驱动最简实例代码
Feb 22 Python
python脚本开机自启的实现方法
Jun 28 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
Sep 16 Python
Python 实现顺序高斯消元法示例
Dec 09 Python
详解NumPy中的线性关系与数据修剪压缩
May 25 Python
 python中的元类metaclass详情
May 30 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 QRCODE生成彩色二维码的方法
2016/05/19 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
Jquery Ajax Error 调试错误的技巧
2015/11/20 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
JS实现标签页切换效果
2017/05/04 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
自己动手封装一个React Native多级联动
2018/09/19 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
flask框架中勾子函数的使用详解
2018/08/01 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
python根据多个文件名批量查找文件
2019/08/13 Python
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
小学生自我评价范文
2014/01/25 职场文书
士力架广告词
2014/03/20 职场文书
初中学生评语大全
2014/04/24 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
社区国庆节活动总结
2015/03/23 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
不要在HTML中滥用div
2021/05/08 HTML / CSS
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js