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 网络编程起步(Socket发送消息)
Sep 06 Python
python获取目录下所有文件的方法
Jun 01 Python
浅谈python对象数据的读写权限
Sep 12 Python
Python实现的堆排序算法原理与用法实例分析
Nov 22 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
详解Python中is和==的区别
Mar 21 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 Python
Python爬虫工具requests-html使用解析
Apr 29 Python
keras处理欠拟合和过拟合的实例讲解
May 25 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
Elasticsearch 数据类型及管理
Apr 19 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
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
php简单判断文本编码的方法
2015/07/30 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
Javascript String.replace的妙用
2009/09/08 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
JS实现的手机端精简幻灯片效果
2016/09/05 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
JS实现图片幻灯片效果代码实例
2020/05/21 Javascript
Python模拟用户登录验证
2017/09/11 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
洛杉矶时尚女装系列:J.ING US
2019/03/17 全球购物
请说出几个常用的异常类
2013/01/08 面试题
应届生服装设计自我评价
2013/09/20 职场文书
大学新生军训自我鉴定范文
2014/09/13 职场文书
小学生毕业评语
2014/12/26 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技