1、定时每天下午5点半运行爬虫
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
# 导入其他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推送。
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))
完整代码:
# -*- 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()