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


Posted in Python onJune 18, 2019

本文实例为大家分享了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通过正则查找微博@(at)用户的方法
Mar 13 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
Python中is与==判断的区别
Mar 28 Python
Python管理Windows服务小脚本
Mar 12 Python
Python使用wget实现下载网络文件功能示例
May 31 Python
python os模块简单应用示例
May 23 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
python读取当前目录下的CSV文件数据
Mar 11 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 Python
python基于pexpect库自动获取日志信息
Feb 01 Python
python数字类型和占位符详情
Mar 13 Python
python实现月食效果实例代码
Jun 18 #Python
详解Python3中setuptools、Pip安装教程
Jun 18 #Python
Python生成指定数量的优惠码实操内容
Jun 18 #Python
python实现文件的备份流程详解
Jun 18 #Python
python绘制地震散点图
Jun 18 #Python
python f-string式格式化听语音流程讲解
Jun 18 #Python
python实现雪花飘落效果实例讲解
Jun 18 #Python
You might like
php magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
PHP 柱状图实现代码
2009/12/04 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
PHP实现简单的计算器
2020/08/28 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
使用JavaScript破解web
2018/09/28 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
Python中join和split用法实例
2015/04/14 Python
在Python的Bottle框架中使用微信API的示例
2015/04/23 Python
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
django中ORM模型常用的字段的使用方法
2019/03/05 Python
python pygame实现五子棋小游戏
2020/10/26 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
Django的性能优化实现解析
2019/07/30 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
基于python调用psutil模块过程解析
2019/12/20 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
手把手教你将Flask应用封装成Docker服务的实现
2020/08/19 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
记者岗位职责
2014/01/06 职场文书
先进员工事迹材料
2014/12/20 职场文书