Python實(shí)現(xiàn)定時(shí)監(jiān)測(cè)網(wǎng)站運(yùn)行狀態(tài)的示例代碼
先說(shuō)一下為啥會(huì)寫這段代碼,大家在瀏覽網(wǎng)頁(yè)的時(shí)候都會(huì)看到友情鏈接,友情鏈接里面的鏈接地址,如果不能正常的,那么在SEO方面會(huì)有影響,如何及時(shí)的發(fā)現(xiàn)無(wú)效或者錯(cuò)誤的鏈接并及時(shí)對(duì)其進(jìn)行下線處理,這是一個(gè)至關(guā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ú)法滿足需求,近期使用Python來(lái)實(shí)現(xiàn)這一功能,后期將編寫監(jiān)控模塊,并進(jìn)行代碼開源或搭建公共服務(wù)器。
本次抒寫的是鏈接狀態(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)看一下代碼。
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)文章:
1. 利用單元測(cè)試對(duì)PHP代碼進(jìn)行檢查2. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML3. python3實(shí)現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)4. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析5. python爬蟲實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊6. python excel和yaml文件的讀取封裝7. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問題及解決8. 如何對(duì)php程序中的常見漏洞進(jìn)行攻擊9. js獲取今天、昨天、明天的日期函數(shù)代碼10. python實(shí)現(xiàn)PolynomialFeatures多項(xiàng)式的方法
