您好,登錄后才能下訂單哦!
本文實例為大家分享了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秒左右會有彈框顯示二維碼,掃描后即登陸自己的賬號,并選擇匹配的討論組名稱進行發送.
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。