python获取地震信息 微信实时推送

 更新时间:2019年06月18日 15:01:49   作者:1874445373@qq.com  
这篇文章主要为大家详细介绍了python获取地震信息,微信实时推送,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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 解析XML文件

    Python 解析XML文件

    google一篇关于Python解析XML文件的博文不过XML文件出错,整理如下。
    2009-04-04
  • Pandas借助Numpy实现优化的条件检索代码

    Pandas借助Numpy实现优化的条件检索代码

    Numpy其实是最早的处理数据的Python库,它的核心ndarray对象,是一个高效的n维数组结构,本文主要介绍了Pandas如何借助Numpy优化条件检索,感兴趣的可以了解下
    2024-03-03
  • Python解析Excle文件中的数据方法

    Python解析Excle文件中的数据方法

    今天小编就为大家分享一篇Python解析Excle文件中的数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • PyQt5多线程刷新界面防假死示例

    PyQt5多线程刷新界面防假死示例

    今天小编就为大家分享一篇PyQt5多线程刷新界面防假死示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python seek()和tell()函数的具体使用

    Python seek()和tell()函数的具体使用

    本文主要介绍了Python seek()和tell()函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python线程池的实现浅析

    Python线程池的实现浅析

    当有多个 IO 密集型的任务要被处理时,我们自然而然会想到多线程。而线程池的实现也很简单,因为 Python 提供了一个标准库 concurrent.futures,已经内置了对线程池的支持。所以本篇文章,我们就来详细介绍一下该模块的用法
    2022-08-08
  • Python冲顶大会 快来答题!

    Python冲顶大会 快来答题!

    直播答题冲顶大会,你玩了吗?本文为大家分享了10道Python测试题,你答对1道算我输
    2018-01-01
  • Python中axis=0与axis=1指的方向有什么不同详解

    Python中axis=0与axis=1指的方向有什么不同详解

    对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数axis的值,下面这篇文章主要给大家介绍了关于Python中axis=0与axis=1指的方向有什么不同的相关资料,需要的朋友可以参考下
    2024-01-01
  • 超详细注释之OpenCV更改像素与修改图像通道

    超详细注释之OpenCV更改像素与修改图像通道

    这篇文章主要介绍了OpenCV更改像素与修改图像通道,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 举例讲解Python中的身份运算符的使用方法

    举例讲解Python中的身份运算符的使用方法

    这篇文章主要介绍了举例讲解Python中的身份运算符的使用方法,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10

最新评论