本文實例為大家分享了python獲取地震信息微信實時推送的具體代碼,供大家參考,具體內(nèi)容如下
import requests,time
from lxml import etree
from wxpy import *
# 微信登陸
bot = Bot()
# 查找好友
group = bot.groups().search('珍愛生命 遠(yuǎn)離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())}'
# 請求數(shù)據(jù)
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()')
# 如果日志為空,發(fā)送最新的一條地震信息
if rember == '':
msg = f'北京時間:{res[1]},在緯度:{res[2]} ,經(jīng)度{res[3]} 處發(fā)生了{(lán)res[0]}級地震,震源深度{res[4]}千米,參考位置:{res[5]}(5分鐘更新一次)'
# 發(fā)送信息
group.send(msg)
print('日志為空,msg:', msg)
# 如果日志非空,就判斷是否是最新的,發(fā)送日志之后的所有新的數(shù)據(jù)
else:
i = res.index(rember)
while i > 1:
i -= 6
msg = f'北京時間:{res[i]},在緯度:{res[i+1]} ,經(jīng)度{res[i+2]} 處發(fā)生了{(lán)res[i-1]}級地震,震源深度{res[i+3]}千米,參考位置:{res[i+4]}(5分鐘更新一次)'
# 發(fā)送信息
group.send(msg)
print('日志非空,msg:',msg)
time.sleep(300)
rember = res[1]
# 更新日志(記錄最新發(fā)送的地震信息)
with open('log.txt', 'w') as f:
f.write(res[1])
except:
time.sleep(60)
# 運行后10秒左右會有彈框顯示二維碼,掃描后即登陸自己的賬號,并選擇匹配的討論組名稱進(jìn)行發(fā)送.
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

