最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python獲取(宜賓市地震信息)地震信息

 更新時間:2019年06月20日 09:47:37   作者:stormwen  
今天這個項目用到了Python的爬蟲知識,沒有用大家討厭的正則表達式,而是用一種新的方式解析庫,實現(xiàn)對HTML的解析和提取信息,最后又用到前面項目用過的wxpy庫,實現(xiàn)了全部功能

6月17日22分25分,四川省宜賓市長寧縣發(fā)生了6.0級地震,成都高新減災(zāi)研究所與應(yīng)急管理部門聯(lián)合建設(shè)的大陸地震預(yù)警網(wǎng)成功預(yù)警本次地震,提前10秒向宜賓市預(yù)警,提前61秒向成都預(yù)警。

雖然自己還不能寫出這么牛逼的系統(tǒng),但是今天我想結(jié)合自己學(xué)到的Python知識,用Python獲取地震信息,然后微信實時推送給你的群組或你的朋友。

1.前期準(zhǔn)備

1.爬蟲基本知識,比如requests庫,以及l(fā)xml庫;

2.利用Xpath進行HTML的解析;

之前寫的一些簡單項目,提取頁面信息時使用的是正則表達式,但當(dāng)項目復(fù)雜時,用正則表達式比較煩瑣,萬一有地方寫錯了,可能導(dǎo)致匹配失敗,所以使用正則表達式提取頁面信息多多少少還是有些不方便。

通過最近學(xué)習(xí),我知道了在網(wǎng)頁中可以通過Xpath或CSS選擇器來定位一個或多個節(jié)點,再調(diào)用相應(yīng)的方法獲取它的正文內(nèi)容或者屬性,可以很方便快捷的提取到我們想要的信息。

3.要實現(xiàn)微信實時推送肯定需要用到wxpy庫;

4.本次項目從中國地震臺網(wǎng)爬取地震信息,鏈接為: http:// news.ceic.ac.cn/index.h tml?time= {int(time.time())}。

 

2.代碼整合

import requests, time
from lxml import etree
from wxpy import *
# 微信登陸
bot = Bot()
# 查找好友
my_friend = bot.friends().search(u'stormwen')[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ā)生了{res[0]}級地震,震源深度{res[4]}千米,參考位置:{res[5]}(5分鐘更新一次)'
      # 發(fā)送信息
      my_friend.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ā)生了{res[i-1]}級地震,震源深度{res[i+3]}千米,參考位置:{res[i+4]}(5分鐘更新一次)'
        # 發(fā)送信息
        my_friend.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)

3.結(jié)果展示

4.總結(jié)

我一直認為語言只是工具,只有用它來做點具體的事,才體現(xiàn)出它的價值。今天這個項目用到了Python的爬蟲知識,沒有用大家討厭的正則表達式,而是用一種新的方式解析庫,實現(xiàn)對HTML的解析和提取信息,最后又用到前面項目用過的wxpy庫,實現(xiàn)了全部功能。

以上所述是小編給大家介紹的使用python獲取(宜賓市地震信息)地震信息,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • Python實現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    Python實現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    這篇文章主要介紹了Python實現(xiàn)模擬登錄網(wǎng)易郵箱的方法,結(jié)合實例形式分析了Python基于urllib2及cookielib模塊的http請求、數(shù)據(jù)傳輸及交互相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Django 實現(xiàn)下載文件功能的示例

    Django 實現(xiàn)下載文件功能的示例

    這篇文章主要介紹了Django 實現(xiàn)下載文件功能的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Python標(biāo)準(zhǔn)異常和異常處理詳解

    Python標(biāo)準(zhǔn)異常和異常處理詳解

    這篇文章主要介紹了Python標(biāo)準(zhǔn)異常和異常處理詳解,本文講解了python標(biāo)準(zhǔn)異常、什么是異常、異常處理的多種方法和實例等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • 基于Python實現(xiàn)開發(fā)釘釘通知機器人

    基于Python實現(xiàn)開發(fā)釘釘通知機器人

    在項目協(xié)同工作或自動化流程完成時,我們需要用一定的手段通知自己或他人。Telegram 非常好用,幾個步驟就能創(chuàng)建一個機器人,可惜在國內(nèi)無法使用。所以本文就來開發(fā)一個釘釘通知機器人吧
    2023-02-02
  • 使用Django和Python創(chuàng)建Json response的方法

    使用Django和Python創(chuàng)建Json response的方法

    下面小編就為大家分享一篇使用Django和Python創(chuàng)建Json response的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Pycharm在創(chuàng)建py文件時,自動添加文件頭注釋的實例

    Pycharm在創(chuàng)建py文件時,自動添加文件頭注釋的實例

    今天小編就為大家分享一篇Pycharm在創(chuàng)建py文件時,自動添加文件頭注釋的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python的動態(tài)重新封裝的教程

    Python的動態(tài)重新封裝的教程

    這篇文章主要介紹了Python的動態(tài)重新封裝的教程,本文來自于IBM的官方開發(fā)者文檔,需要的朋友可以參考下
    2015-04-04
  • python實現(xiàn)圖像檢索的三種(直方圖/OpenCV/哈希法)

    python實現(xiàn)圖像檢索的三種(直方圖/OpenCV/哈希法)

    這篇文章主要介紹了python實現(xiàn)圖像檢索的三種(直方圖/OpenCV/哈希法),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 使用Python實現(xiàn)USB自動復(fù)制文件

    使用Python實現(xiàn)USB自動復(fù)制文件

    USB驅(qū)動器作為常見的數(shù)據(jù)存儲設(shè)備,經(jīng)常用于數(shù)據(jù)傳輸和備份,本文將介紹如何利用Python編寫腳本來自動化這一過程,感興趣的小伙伴可以了解一下
    2025-02-02
  • Python調(diào)用pytdx的代碼示例

    Python調(diào)用pytdx的代碼示例

    本文主要介紹了Python調(diào)用pytdx的代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評論

古蔺县| 林口县| 黄山市| 岗巴县| 呼图壁县| 平遥县| 昌平区| 胶南市| 舟山市| 东丽区| 铁岭县| 时尚| 新竹县| SHOW| 澄江县| 秭归县| 澄迈县| 永福县| 岳阳市| 额济纳旗| 天水市| 青阳县| 玛曲县| 麻栗坡县| 黄石市| 迁西县| 乳源| 通州区| 宜丰县| 修文县| 怀仁县| 原阳县| 天祝| 武义县| 兴义市| 雷波县| 伊川县| 昂仁县| 定襄县| 平潭县| 安化县|