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 相关文章推荐
flask + pymysql操作Mysql数据库的实例
Nov 13 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
使用Python处理BAM的方法
Sep 28 Python
详解Python下Flask-ApScheduler快速指南
Nov 04 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
Python requests获取网页常用方法解析
Feb 20 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
Python爬虫requests库多种用法实例
May 28 Python
PyQt5多线程防卡死和多窗口用法的实现
Sep 15 Python
python 爬虫如何实现百度翻译
Nov 16 Python
python通过函数名调用函数的几种方法总结
Jun 07 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
Sony CFR 320 修复改造
2020/03/14 无线电
一篇不错的PHP基础学习笔记
2007/03/18 PHP
PHP 变量的定义方法
2010/01/26 PHP
php include和require的区别深入解析
2013/06/17 PHP
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
写js时遇到的一些小问题
2010/12/06 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
[03:55]2014DOTA2国际邀请赛 Fnatic经理采访赢DK在情理之中
2014/07/10 DOTA
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
python中私有函数调用方法解密
2016/04/29 Python
Python优先队列实现方法示例
2017/09/21 Python
浅谈python之新式类
2018/08/12 Python
Python切图九宫格的实现方法
2019/10/10 Python
python groupby 函数 as_index详解
2019/12/16 Python
Python实现SMTP邮件发送
2020/06/16 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
2020/08/04 Python
机电专业个人自荐信格式模板
2013/09/23 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
保管员岗位职责
2015/02/14 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
创业的9条正确思考方式
2019/08/26 职场文书