python定时任务,定时爬取水质和天气

定时爬取水质和天气

代码

c 复制代码
from apscheduler.schedulers.background import BackgroundScheduler
import requests
import datetime

urlweather = "http://localhost:8000/CrwalingViewWeather"  # 天气接口
urlwater = "http://localhost:8000/CrwalingViewWater/"  # 水质接口

def fetch_weather():
    print("正在获取天气数据...", datetime.datetime.now())
    try:
        response = requests.get(urlweather)
        if response.status_code == 200:
            print("天气数据获取成功")
        else:
            print("天气数据获取失败")
    except Exception as e:
        print(f"获取天气数据时发生错误: {e}")

def fetch_water_quality():
    print("正在获取水质数据...", datetime.datetime.now())
    try:
        response = requests.get(urlwater)
        if response.status_code == 200:
            print("水质数据获取成功")
        else:
            print("水质数据获取失败")
    except Exception as e:
        print(f"获取水质数据时发生错误: {e}")

scheduler = BackgroundScheduler()

# 每小时的第10分钟执行
scheduler.add_job(fetch_weather, 'cron', hour='*', minute=40)
# 每小时的第20分钟执行
scheduler.add_job(fetch_water_quality, 'cron', hour='*', minute=20)

scheduler.start()

try:
    # 模拟长时间运行
    while True:
        datetime.datetime.now()
except (KeyboardInterrupt, SystemExit):
    scheduler.shutdown()
相关推荐
Chen--Xing4 分钟前
Python -- 正则表达式
python·正则表达式·数据分析·数据脱敏·2025年能源网络安全大赛
寂柒7 分钟前
C++——堆
开发语言·c++
邂逅星河浪漫10 分钟前
【Java】@EqualsAndHashCode 注解解析
java·开发语言
卖芒果的潇洒农民11 分钟前
C语言面试
c语言·开发语言·面试
l1t12 分钟前
对在aarch64 Linux环境编译安装的CinderX补充测试
linux·运维·服务器·python·jit
人间打气筒(Ada)16 分钟前
「码动四季·开源同行」go语言:如何追踪分布式系统调用链路的问题?
开发语言·golang·开源·分布式链路追踪
前进的李工16 分钟前
SSH隧道实现Dify与Ollama跨服务器通信
开发语言·大模型·github·腾讯云·autodl·dify
getapi16 分钟前
Windows 11 安装 uv包括:更新、常用命令、Python 管理、环境切换等,(Astral 的 Python 包/环境工具)完整指南
windows·python·uv
智算菩萨20 分钟前
【Pygame】第1章 Pygame入门与环境搭建
python·ai编程·pygame
小碗羊肉25 分钟前
【从零开始学Java | 第二十五篇】Set集合
java·开发语言