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 简易计算器程序,代码就几行
Aug 29 Python
Python实现的一个找零钱的小程序代码分享
Aug 25 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
May 16 Python
python 线程的暂停, 恢复, 退出详解及实例
Dec 06 Python
Python实现返回数组中第i小元素的方法示例
Dec 04 Python
基于python实现在excel中读取与生成随机数写入excel中
Jan 04 Python
解决python selenium3启动不了firefox的问题
Oct 13 Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
Python爬虫实现vip电影下载的示例代码
Apr 20 Python
Python3 ffmpeg视频转换工具使用方法解析
Aug 10 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
一个程序下载的管理程序(二)
2006/10/09 PHP
php 获取客户端的真实ip
2009/11/30 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
Python生成随机验证码的两种方法
2015/12/22 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
Numpy之reshape()使用详解
2019/12/26 Python
Python3运算符常见用法分析
2020/02/14 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
2019年年中职场激励人心语录30条
2019/08/07 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
Nginx配置Https安全认证的实现
2021/05/26 Servers