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实现简单状态框架的方法
Mar 19 Python
Python中encode()方法的使用简介
May 18 Python
python获取外网ip地址的方法总结
Jul 02 Python
简单介绍使用Python解析并修改XML文档的方法
Oct 15 Python
hmac模块生成加入了密钥的消息摘要详解
Jan 11 Python
python socket网络编程之粘包问题详解
Apr 28 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
Python搭建代理IP池实现存储IP的方法
Oct 27 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
pycharm如何设置官方中文(如何汉化)
Dec 29 Python
教你使用一行Python代码玩遍童年的小游戏
Aug 23 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
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
javascript 得到变量类型的函数
2010/05/19 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
干货分享:让你分分钟学会javascript闭包
2015/12/25 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
python读写ini配置文件方法实例分析
2015/06/30 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
python爬虫要用到的库总结
2020/07/28 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
自我鉴定范文300字
2013/10/01 职场文书
网上蛋糕店创业计划书
2014/01/24 职场文书
监察建议书范文
2014/03/12 职场文书
公司领导班子召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
小学生安全教育主题班会
2015/08/12 职场文书