前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我们的目标是星辰大海。。。之空间站过境,定时+爬虫+推送消息2024.5.9

我们的目标是星辰大海。。。之空间站过境,定时+爬虫+推送消息2024.5.9

作者头像
用户7138673
发布2024-05-11 17:04:42
870
发布2024-05-11 17:04:42
举报
文章被收录于专栏:大大的小数据大大的小数据

1、定时每天下午5点半运行爬虫

代码语言:javascript
复制
from apscheduler.schedulers.blocking import BlockingScheduler

# 创建调度器
sched = BlockingScheduler()

# 添加定时任务
# 每天x点执行 打印.py 中的 主任务
# sched.add_job(主任务1, 'cron', hour=8, minute=00)
# sched.add_job(主任务2, 'cron', hour=9, minute=00)
sched.add_job(main, 'cron', hour=16, minute=4,second=00)

# 启动调度器
sched.start()

2、获取日期、时间、亮度,日期小于2天,日期大于晚上18点,亮度小于-2

代码语言:javascript
复制
# 导入其他Python文件中的函数
def main():
    p = MixPage()
    p.get("https://heavens-above.com/PassSummary.aspx?satid=25544&lat=22.8193&lng=108.3627&loc=Unspecified&alt=80&tz=ChST") 
    
    # 计算明天的日期
    tomorrow_date = datetime.now() + timedelta(days=1)
    print(tomorrow_date)
    
    datas = p.eles('xpath:/html/body/form/table/tbody/tr[3]/td[1]/table[3]/tbody/tr')
    
    for i in datas:
        小内容 = i.eles('xpath:/td')
        详细日期 = 小内容[0].text
        详细亮度 = 小内容[1].text
        详细时间 = 小内容[2].text
        # 将文本格式的日期转换为datetime对象
        过境日期修改格式 = datetime.strptime(f"{2024}年{详细日期}", '%Y年%m月%d日')
        # print(过境日期修改格式)  
        # print(i.text)
        if datetime.strptime(详细时间, "%H:%M:%S").hour > 18 and float(详细亮度) < -1 and 过境日期修改格式 < tomorrow_date:
            print(详细日期)
            print(详细时间)
            print(详细亮度)

3、推送到微信、flomo笔记api推送。

代码语言:javascript
复制
token = '5984' #在pushplus网站中可以找到
            title= 详细日期+详细时间+'国际空间站' #改成你要的标题内容
            content = i.text #改成你要的正文内容
            url = 'http://www.pushplus.plus/send?token='+token+'&title='+title+'&content='+content+'&template=txt'
            requests.get(url)   
            
            
            # 这是要发送的URL
            url = "https://flomoapp.com/iwh/MTQ4MjQzNA/e761286/"
    
            # 这是要发送的JSON数据
            data = {"content": "#空间站过境\n\
                            #国际空间站\n\
                                "+i.text
            }
    
            # 发送POST请求
            response = requests.post(url, headers={"Content-type": "application/json"}, data=json.dumps(data))

完整代码:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
"""
Created on Wed Nov 22 16:37:52 2023

@author: Administrator
"""

# -*- coding: utf-8 -*-
# import datetime
from apscheduler.schedulers.blocking import BlockingScheduler
from DrissionPage import MixPage
import requests
import json
from datetime import datetime, timedelta  # 导入 timedelta

# 导入其他Python文件中的函数
def main():
    p = MixPage()
    p.get("https://heavens-above.com/PassSummary.aspx?satid=25544&lat=22.8193&lng=108.3627&loc=Unspecified&alt=80&tz=ChST") 
    
    # 计算明天的日期
    tomorrow_date = datetime.now() + timedelta(days=1)
    print(tomorrow_date)
    
    datas = p.eles('xpath:/html/body/form/table/tbody/tr[3]/td[1]/table[3]/tbody/tr')
    
    for i in datas:
        小内容 = i.eles('xpath:/td')
        详细日期 = 小内容[0].text
        详细亮度 = 小内容[1].text
        详细时间 = 小内容[2].text
        # 将文本格式的日期转换为datetime对象
        过境日期修改格式 = datetime.strptime(f"{2024}年{详细日期}", '%Y年%m月%d日')
        # print(过境日期修改格式)  
        # print(i.text)
        if datetime.strptime(详细时间, "%H:%M:%S").hour > 18 and float(详细亮度) < -1 and 过境日期修改格式 < tomorrow_date:
            print(详细日期)
            print(详细时间)
            print(详细亮度)
            token = '5984cf36123b8' #在pushplus网站中可以找到
            title= 详细日期+详细时间+'国际空间站' #改成你要的标题内容
            content = i.text #改成你要的正文内容
            url = 'http://www.pushplus.plus/send?token='+token+'&title='+title+'&content='+content+'&template=txt'
            requests.get(url)   
            
            
            # 这是要发送的URL
            url = "https://flomoapp.com/iwh/MTQ4MjQzNA/"
    
            # 这是要发送的JSON数据
            data = {"content": "#空间站过境\n\
                            #国际空间站\n\
                                "+i.text
            }
    
            # 发送POST请求
            response = requests.post(url, headers={"Content-type": "application/json"}, data=json.dumps(data))
    
    p = MixPage()
    p.get("https://heavens-above.com/PassSummary.aspx?satid=48274&lat=22.8193&lng=108.3627&loc=Unspecified&alt=80&tz=ChST") 
    
    # 计算明天的日期
    tomorrow_date = datetime.now() + timedelta(days=1)
    print(tomorrow_date)
    
    datas = p.eles('xpath:/html/body/form/table/tbody/tr[3]/td[1]/table[3]/tbody/tr')
    
    for i in datas:
        小内容 = i.eles('xpath:/td')
        详细日期 = 小内容[0].text
        详细亮度 = 小内容[1].text
        详细时间 = 小内容[2].text
        # 将文本格式的日期转换为datetime对象
        过境日期修改格式 = datetime.strptime(f"{2024}年{详细日期}", '%Y年%m月%d日')
        # print(过境日期修改格式)  
        # print(i.text)
        if datetime.strptime(详细时间, "%H:%M:%S").hour > 18 and float(详细亮度) < -1 and 过境日期修改格式 < tomorrow_date:
            print(详细日期)
            print(详细时间)
            print(详细亮度)
            token = '5984cf36123c486b8' #在pushplus网站中可以找到
            title= 详细日期+详细时间+'中国空间站' #改成你要的标题内容
            content = i.text #改成你要的正文内容
            url = 'http://www.pushplus.plus/send?token='+token+'&title='+title+'&content='+content+'&template=txt'
            requests.get(url)   
            
            
            # 这是要发送的URL
            url = "https://flomoapp.com/iwh/MTQ4MjQzNA/e7946df4514a/"
    
            # 这是要发送的JSON数据
            data = {"content": "#空间站过境\n\
                            #中国空间站\n\
                                "+i.text
            }
    
            # 发送POST请求
            response = requests.post(url, headers={"Content-type": "application/json"}, data=json.dumps(data))



# 创建调度器
sched = BlockingScheduler()

# 添加定时任务
# 每天x点执行 打印.py 中的 主任务
sched.add_job(main, 'cron', hour=16, minute=4,second=00)

# 启动调度器
sched.start()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大大的小数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档