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中SocketServer模块处理网络请求的用法
Jun 28 Python
Python函数的周期性执行实现方法
Aug 13 Python
Python实现FTP上传文件或文件夹实例(递归)
Jan 16 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
Apr 29 Python
python 猴子补丁(monkey patch)
Jun 26 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
python实现猜拳游戏
Mar 04 Python
python 实现单例模式的5种方法
Sep 23 Python
Python self用法详解
Nov 28 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 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
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
js读取本地excel文档数据的代码
2010/11/11 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
vue中轮训器的使用
2019/01/27 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
python获取目录下所有文件的方法
2015/06/01 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
2018/07/12 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
C++是不是类型安全的
2014/02/18 面试题
暑期社会实践感言
2014/02/25 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
2015年外联部工作总结
2015/04/03 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书