Python實現(xiàn)定時監(jiān)測網(wǎng)站運行狀態(tài)的示例代碼
先說一下為啥會寫這段代碼,大家在瀏覽網(wǎng)頁的時候都會看到友情鏈接,友情鏈接里面的鏈接地址,如果不能正常的,那么在SEO方面會有影響,如何及時的發(fā)現(xiàn)無效或者錯誤的鏈接并及時對其進(jìn)行下線處理,這是一個至關(guān)重要的問題。
通過定時的監(jiān)測網(wǎng)站的狀態(tài),通常監(jiān)測地址為網(wǎng)站的域名,如果鏈接的狀態(tài)碼不是200,那么,就將對其進(jìn)行下線處理,在特定時間后對其進(jìn)行二次探測狀態(tài),如果符合將其上線,以前使用的創(chuàng)宇云的監(jiān)控,但是功能比較單一,無法滿足需求,近期使用Python來實現(xiàn)這一功能,后期將編寫監(jiān)控模塊,并進(jì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),進(jìn)行下線處理’) 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. vue實現(xiàn)web在線聊天功能2. JavaScript實現(xiàn)頁面動態(tài)驗證碼的實現(xiàn)示例3. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis4. Springboot 全局日期格式化處理的實現(xiàn)5. SpringBoot+TestNG單元測試的實現(xiàn)6. 完美解決vue 中多個echarts圖表自適應(yīng)的問題7. 解決Android Studio 格式化 Format代碼快捷鍵問題8. 在Chrome DevTools中調(diào)試JavaScript的實現(xiàn)9. Python使用urlretrieve實現(xiàn)直接遠(yuǎn)程下載圖片的示例代碼10. Java使用Tesseract-Ocr識別數(shù)字
