Python實現(xiàn)定時監(jiān)測網(wǎng)站運行狀態(tài)的示例代碼
先說一下為啥會寫這段代碼,大家在瀏覽網(wǎng)頁的時候都會看到友情鏈接,友情鏈接里面的鏈接地址,如果不能正常的,那么在SEO方面會有影響,如何及時的發(fā)現(xiàn)無效或者錯誤的鏈接并及時對其進行下線處理,這是一個至關(guān)重要的問題。
通過定時的監(jiān)測網(wǎng)站的狀態(tài),通常監(jiān)測地址為網(wǎng)站的域名,如果鏈接的狀態(tài)碼不是200,那么,就將對其進行下線處理,在特定時間后對其進行二次探測狀態(tài),如果符合將其上線,以前使用的創(chuàng)宇云的監(jiān)控,但是功能比較單一,無法滿足需求,近期使用Python來實現(xiàn)這一功能,后期將編寫監(jiān)控模塊,并進行代碼開源或搭建公共服務(wù)器。
本次抒寫的是鏈接狀態(tài)碼獲取,可以一應(yīng)用在網(wǎng)站監(jiān)控,友情鏈接監(jiān)控等方面,及時作出提醒預(yù)警、狀態(tài)處理等,方便網(wǎng)站優(yōu)化。本次使用了python的requests、datatime、BlockingScheduler這三個類。下面來看一下代碼。
from apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetimeimport requests# 輸出時間def job(): url = ’//www.jb51.net’ data = requests.get(url) code = data.status_code if code != 200: print(’網(wǎng)站無法響應(yīng),進行下線處理’) else: print(’當(dāng)前時間:’ + datetime.now().strftime(’%Y-%m-%d %H:%M:%S’) + ’狀態(tài)碼:’) print(code)# 設(shè)置定時器 BlockSchedulersched = BlockingScheduler()sched.add_job(job, 'interval', seconds=5)sched.start()
運行效果:
網(wǎng)站狀態(tài):
以上就是Python實現(xiàn)定時監(jiān)測網(wǎng)站運行狀態(tài)的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于python 監(jiān)測網(wǎng)站狀態(tài)的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 解決Android Studio Design界面不顯示layout控件的問題2. python mysql 字段與關(guān)鍵字沖突的解決方式3. bootstrap select2 動態(tài)從后臺Ajax動態(tài)獲取數(shù)據(jù)的代碼4. Python加載數(shù)據(jù)的5種不同方式(收藏)5. python讀取中文路徑時出錯(2種解決方案)6. Python用K-means聚類算法進行客戶分群的實現(xiàn)7. python編寫五子棋游戲8. Java源碼解析之接口List9. Java xml數(shù)據(jù)格式返回實現(xiàn)操作10. layui Ajax請求給下拉框賦值的實例
