python获取地震信息 微信实时推送
作者:1874445373@qq.com 发布时间:2021-05-10 17:42:01
标签:python,地震信息,微信推送
本文实例为大家分享了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秒左右会有弹框显示二维码,扫描后即登陆自己的账号,并选择匹配的讨论组名称进行发送.
来源:https://blog.csdn.net/qq_35515661/article/details/84557042


猜你喜欢
- 一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足。//Fatal error: Allowed
- 前言“两个变量之间的值得交换”,这是一个经典的话题,现在也有了很多的成熟解决方案,本文主要是列举几种常用的方案,进行大量计算并分析对比。起由
- 在《多线程与同步》中介绍了多线程及存在的问题,而通过使用多进程而非线程可有效地绕过全局解释器锁。 因此,通过multiprocessing模
- 本文实例为大家分享了python+rsync精确同步指定格式文件的具体代码,供大家参考,具体内容如下# coding: utf-8#!/us
- 在预测商品销量时,如果预测多了(预测值比真实销量大),商家损失的是生产商品的成本;而如果预测少了(预测值比真实销量小),损失的则是商品的利润
- 除了常用的csv文件和excel文件之外,我们还可以通过PY把数据保存文npy文件格式和mat文件格式。1. npy文件npy即numpy对
- 本文实例为大家分享了python简单贪吃蛇的具体代码,供大家参考,具体内容如下import sysimport randomimport p
- python语句mode = ‘test’ if y is None else &lsquo
- 第一种使用queue队列实现:#生产者消费者模型 其实服务器集群就是这个模型# 这里介绍的是非yield方法实现过程import threa
- python可以装在任意的系统盘中,没有强制要求,默认路径是装在C盘。为什么软件默认安装位置是在C盘?下面我们来说一说。首先,需要明确一点,
- 目录1、创建对象2、保存ForeignKey和ManyToManyField字段3、检索对象跨越多值的关系查询使用F表达式引用模型的字段:4
- Python 字符串描述Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格).语法rstrip()方法语法
- 常用时间转换及处理函数:import datetime# 获取当前时间d1 = datetime.datetime.now()print d
- 1.背景看到这个标题你可能想一个分块能有什么难度?还值得细说吗,最近确实遇到一个有意思的分块函数,写法比较巧妙优雅,所以写一个分享。日前在做
- 前言:IPython 是 Python 的原生交互式 shell 的增强版,可以完成许多不同寻常的任务,比如帮助实现并行化计算;主要使用它提
- 前言使用matplotlib生成gif动画的方法有很多,一般常规使用matplotlib的animation模块的FuncAnimation
- 基础知识铺垫学习图像金字塔,发现网上的资料比较多,检索起来比较轻松。图像金字塔是一张图像多尺度的表达,或者可以理解成一张图像不同分辨率展示。
- 最近发现一个问题,是关于IDEA的一些骚操作的事儿~具体怎么回事,一起来看看。我们都知道使用git分布式版本控制工具,提、拉 代码都会有一个
- 本文实例讲述了PHP实现通过二维数组键值获取一维键名操作。分享给大家供大家参考,具体如下:有如下既定数组:$inviteType = [ &
- IE8正式版已经发布了。本篇文章不会非常扯蛋地去进行什么评测,然后给出什么“Chrome运行JavaScript能力是IE8的15倍”、什么