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通过函数属性实现全局变量的方法
May 16 Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
深入理解Python中的super()方法
Nov 20 Python
python 遍历列表提取下标和值的实例
Dec 25 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
python树的同构学习笔记
Sep 14 Python
numpy 声明空数组详解
Dec 05 Python
Python远程方法调用实现过程解析
Jul 28 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
python3中for循环踩过的坑记录
Dec 14 Python
Python如何导出导入所有依赖包详解
Jun 08 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程序
2006/10/09 PHP
PHP开发负载均衡指南
2010/07/17 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
可输入的下拉框
2006/06/19 Javascript
自适应图片大小的弹出窗口
2006/07/27 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
Python3.x中自定义比较函数
2015/04/24 Python
你应该知道的python列表去重方法
2017/01/17 Python
Django应用程序中如何发送电子邮件详解
2017/02/04 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
财务部出纳岗位职责
2013/12/22 职场文书
文体活动总结范文
2014/05/05 职场文书
党支部换届选举方案
2014/05/08 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS