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()
相关推荐
HHHHH1010HHHHH5 分钟前
如何快速重置SQL表中的自增ID_使用TRUNCATE与重置命令
jvm·数据库·python
m0_734949796 分钟前
html怎么转konva舞台_Konva如何在HTML中创建2D绘图舞台
jvm·数据库·python
m0_716430079 分钟前
如何在非受控输入中实时显示值(不依赖状态更新)
jvm·数据库·python
2201_761040599 分钟前
如何统计SQL分组汇总数据_详解GROUP BY与HAVING用法
jvm·数据库·python
2301_7641505611 分钟前
CSS如何通过BEM提升质量_应用命名规范减少Bug产生
jvm·数据库·python
2301_7641505612 分钟前
CSS如何实现鼠标悬浮放大图片_使用transform scale效果
jvm·数据库·python
W230357657318 分钟前
【改进版】C++ 固定线程池实现:基于调用者运行的拒绝策略优化
开发语言·c++·线程池
214396518 分钟前
mysql如何处理不走索引的OR查询_使用UNION ALL优化重写
jvm·数据库·python
2301_8135995521 分钟前
如何在网页中完整显示数组内所有对象的全部属性
jvm·数据库·python
解救女汉子24 分钟前
如何分析Data Guard的网络瓶颈_Bandwidth与Redo传输速率的计算公式
jvm·数据库·python