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 相关文章推荐
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
谈谈如何手动释放Python的内存
Dec 17 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
Nov 21 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
详解Python中is和==的区别
Mar 21 Python
Python 实现训练集、测试集随机划分
Jan 08 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
Python的历史与优缺点整理
May 26 Python
什么是python的必选参数
Jun 21 Python
详解Python中list[::-1]的几种用法
Nov 16 Python
Pygame Draw绘图函数的具体使用
Nov 17 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顺序查找和二分查找示例
2014/03/27 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
jquery常用函数与方法汇总
2015/09/01 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
Vue实现购物车场景下的应用
2017/11/27 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
[02:11]完美世界DOTA2联赛10月28日赛事精彩集锦:来吧展示实力强劲
2020/10/29 DOTA
Python中AND、OR的一个使用小技巧
2015/02/18 Python
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
python计算列表内各元素的个数实例
2018/06/29 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
银行求职推荐信范文
2013/11/30 职场文书
人事部主管岗位职责
2013/12/26 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
汽车机修工岗位职责
2014/03/06 职场文书
暑期社会实践心得体会
2014/09/02 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
2023/05/08 MySQL