Python實(shí)現(xiàn)定時(shí)監(jiān)測(cè)網(wǎng)站運(yùn)行狀態(tài)的示例代碼
先說(shuō)一下為啥會(huì)寫(xiě)這段代碼,大家在瀏覽網(wǎng)頁(yè)的時(shí)候都會(huì)看到友情鏈接,友情鏈接里面的鏈接地址,如果不能正常的,那么在SEO方面會(huì)有影響,如何及時(shí)的發(fā)現(xiàn)無(wú)效或者錯(cuò)誤的鏈接并及時(shí)對(duì)其進(jìn)行下線處理,這是一個(gè)至關(guān)重要的問(wèn)題。
通過(guò)定時(shí)的監(jiān)測(cè)網(wǎng)站的狀態(tài),通常監(jiān)測(cè)地址為網(wǎng)站的域名,如果鏈接的狀態(tài)碼不是200,那么,就將對(duì)其進(jìn)行下線處理,在特定時(shí)間后對(duì)其進(jìn)行二次探測(cè)狀態(tài),如果符合將其上線,以前使用的創(chuàng)宇云的監(jiān)控,但是功能比較單一,無(wú)法滿(mǎn)足需求,近期使用Python來(lái)實(shí)現(xiàn)這一功能,后期將編寫(xiě)監(jiān)控模塊,并進(jìn)行代碼開(kāi)源或搭建公共服務(wù)器。
本次抒寫(xiě)的是鏈接狀態(tài)碼獲取,可以一應(yīng)用在網(wǎng)站監(jiān)控,友情鏈接監(jiān)控等方面,及時(shí)作出提醒預(yù)警、狀態(tài)處理等,方便網(wǎng)站優(yōu)化。本次使用了python的requests、datatime、BlockingScheduler這三個(gè)類(lèi)。下面來(lái)看一下代碼。
from apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetimeimport requests# 輸出時(shí)間def job(): url = ’//www.jb51.net’ data = requests.get(url) code = data.status_code if code != 200: print(’網(wǎng)站無(wú)法響應(yīng),進(jìn)行下線處理’) else: print(’當(dāng)前時(shí)間:’ + datetime.now().strftime(’%Y-%m-%d %H:%M:%S’) + ’狀態(tài)碼:’) print(code)# 設(shè)置定時(shí)器 BlockSchedulersched = BlockingScheduler()sched.add_job(job, 'interval', seconds=5)sched.start()
運(yùn)行效果:

網(wǎng)站狀態(tài):

以上就是Python實(shí)現(xiàn)定時(shí)監(jiān)測(cè)網(wǎng)站運(yùn)行狀態(tài)的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于python 監(jiān)測(cè)網(wǎng)站狀態(tài)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:

網(wǎng)公網(wǎng)安備