python获取地震信息 微信实时推送

Bianca ·
更新时间:2024-09-21
· 872 次阅读

本文实例为大家分享了python获取地震信息微信实时推送的具体代码,供大家参考,具体内容如下

import requests,time from lxml import etree from wxpy import * # 微信登陆 bot = Bot() # 查找好友 group = bot.groups().search('珍爱生命 远离lisp')[0] #写自己的讨论组名称 with open('log.txt', 'r') as f: rember = f.readline() headers = { 'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36', 'cookie':'Hm_lvt_e0025cd5d352165f8a646ccea5beb27d=1543211803; Hm_lpvt_e0025cd5d352165f8a646ccea5beb27d=1543211803', } while True: try: url = f'http://news.ceic.ac.cn/index.html?time={int(time.time())}' # 请求数据 res = requests.get(url,headers = headers).text.encode('ISO-8859-1').decode('utf8') html_ele = etree.HTML(res) #返回列表 res = html_ele.xpath('//*[@id="news"]//td//text()') # 如果日志为空,发送最新的一条地震信息 if rember == '': msg = f'北京时间:{res[1]},在纬度:{res[2]} ,经度{res[3]} 处发生了{res[0]}级地震,震源深度{res[4]}千米,参考位置:{res[5]}(5分钟更新一次)' # 发送信息 group.send(msg) print('日志为空,msg:', msg) # 如果日志非空,就判断是否是最新的,发送日志之后的所有新的数据 else: i = res.index(rember) while i > 1: i -= 6 msg = f'北京时间:{res[i]},在纬度:{res[i+1]} ,经度{res[i+2]} 处发生了{res[i-1]}级地震,震源深度{res[i+3]}千米,参考位置:{res[i+4]}(5分钟更新一次)' # 发送信息 group.send(msg) print('日志非空,msg:',msg) time.sleep(300) rember = res[1] # 更新日志(记录最新发送的地震信息) with open('log.txt', 'w') as f: f.write(res[1]) except: time.sleep(60)

# 运行后10秒左右会有弹框显示二维码,扫描后即登陆自己的账号,并选择匹配的讨论组名称进行发送.

您可能感兴趣的文章:python实现京东订单推送到测试环境,提供便利操作示例python爬虫_微信公众号推送信息爬取的实例Python搭建APNS苹果推送通知推送服务的相关模块使用指南Python编程之微信推送模板消息功能示例利用Python将每日一句定时推送至微信的实现方法Python编程实现微信企业号文本消息推送功能示例使用Python制作自动推送微信消息提醒的备忘录功能python3实现钉钉消息推送的方法示例python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)python3实现zabbix告警推送钉钉的示例python给微信好友定时推送消息的示例python实现美团订单推送到测试环境,提供便利操作示例



地震 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号