欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

測試、預(yù)發(fā)布后用python檢測網(wǎng)頁是否有日常鏈接

 更新時間:2014年06月03日 09:02:32   作者:  
難免會碰到秀逗了把測試的鏈接發(fā)布到線上的情況,一般這種都是通過一些測試的檢查工具來檢查鏈接來規(guī)避風(fēng)險的,下面為大家簡述下大概的實現(xiàn)思路
在大的互聯(lián)網(wǎng)公司干技術(shù)的基本都會碰到測試、預(yù)發(fā)布、線上這種多套環(huán)境的,來實現(xiàn)測試和線上正式環(huán)境的隔離,這種情況下,就難免會碰到秀逗了把測試的鏈接發(fā)布到線上的情況,一般這種都是通過一些測試的檢查工具來檢查鏈接來規(guī)避風(fēng)險的。前兩天跟了一個問題也是這個情況,開發(fā)疏忽把日常url發(fā)布到線上了。但是測試那邊沒有自動化的監(jiān)控工具,導(dǎo)致沒有及時發(fā)現(xiàn),由于最近正好在看python,后來處理完回家就想用python做個簡單的監(jiān)控。

大略思路是:用python寫一個腳本來分析網(wǎng)頁里的所有url,看是否包含日常的鏈接,然后把腳本放到crontab里跑定時任務(wù),10分鐘跑一次檢查。如果發(fā)現(xiàn)非法鏈接,就發(fā)告警郵件給相關(guān)人員。腳本代碼100行左右,比較好理解,貼上代碼。

本來想用beautifulsoup,不過考慮到安裝三方庫麻煩,所以還是用自帶的sgmllib來,不需要關(guān)心庫。發(fā)郵件函數(shù)沒有實現(xiàn),根據(jù)各自的smtp服務(wù)器實現(xiàn)以下即可。
復(fù)制代碼 代碼如下:

#!/usr/bin/env python
#coding:UTF-8

import urllib2
from sgmllib import SGMLParser
import smtplib
import time
#from email.mime.text import MIMEText
#from bs4 import BeautifulSoup
#import re

class UrlParser(SGMLParser):
urls = []
def do_a(self,attrs):
'''''parse tag a'''
for name,value in attrs:
if name=='href':
self.urls.append(value)
else:
continue

def do_link(self,attrs):
'''''parse tag link'''
for name,value in attrs:
if name=='href':
self.urls.append(value);
else:
continue

def checkUrl(checkurl, isDetail):
'''''檢查checkurl對應(yīng)的網(wǎng)頁源碼是否有非法url'''
parser = UrlParser()
page = urllib2.urlopen(checkurl)
content = page.read()
#content = unicode(content, "gb2312").encode("utf8")
parser.feed(content)
urls = parser.urls

dailyUrls = []
detailUrl = ""
for url in urls:
if 'daily' in url:
dailyUrls.append(url);
if not detailUrl and not isDetail and 'www.bc5u.com' in url:
detailUrl = url

page.close()
parser.close()

if isDetail:
return dailyUrls
else:
return dailyUrls,detailUrl

def sendMail():
'''''發(fā)送提醒郵件'''
pass

def log(content):
'''''記錄執(zhí)行日志'''
logFile = 'checkdailyurl.log'
f = open(logFile,'a')
f.write(str(time.strftime("%Y-%m-%d %X",time.localtime()))+content+'\n')
f.flush()
f.close()

def main():
'''''入口方法'''
#檢查ju
url = "www.bc5u.com"

dailyUrls,detailUrl=checkUrl(url, False)
if dailyUrls:
#檢查到daily鏈接,發(fā)送告警郵件
sendMail()
log('check: find daily url')
else:
#沒檢查到daily鏈接,不處理
log('check: not find daily url')

#檢查judetail
dailyUrls=checkUrl(detailUrl, True)
if dailyUrls:
#檢查到daily鏈接,發(fā)送告警郵件
log('check: find daily url')
sendMail()
else:
#沒檢查到daily鏈接,不處理
log('check: not find daily url')

if __name__ == '__main__':
main()

相關(guān)文章

  • YOLOv5車牌識別實戰(zhàn)教程(七)實時監(jiān)控與分析

    YOLOv5車牌識別實戰(zhàn)教程(七)實時監(jiān)控與分析

    這篇文章主要介紹了YOLOv5車牌識別實戰(zhàn)教程(七)實時監(jiān)控與分析,在這個教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車牌識別,幫助你快速掌握YOLOv5車牌識別技能,需要的朋友可以參考下
    2023-04-04
  • python plt如何保存為emf圖像

    python plt如何保存為emf圖像

    這篇文章主要介紹了python plt如何保存為emf圖像問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python requests模塊實例用法

    Python requests模塊實例用法

    在本篇文章中小編給大家分享了關(guān)于Python requests模塊實例用法,有需要的朋友們學(xué)習(xí)參考下。
    2019-02-02
  • Django利用Channels+websocket開發(fā)聊天室完整案例

    Django利用Channels+websocket開發(fā)聊天室完整案例

    Channels是Django團隊研發(fā)的一個給Django提供websocket支持的框架,使用它我們可以輕松開發(fā)需要長鏈接的實時通訊應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于Django利用Channels+websocket開發(fā)聊天室的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • python之停止打印日志/重復(fù)打印日志方式

    python之停止打印日志/重復(fù)打印日志方式

    這篇文章主要介紹了python停止打印日志/重復(fù)打印日志方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python標(biāo)準(zhǔn)庫之?dāng)?shù)據(jù)庫 sqlite3

    Python標(biāo)準(zhǔn)庫之?dāng)?shù)據(jù)庫 sqlite3

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫的數(shù)據(jù)庫 sqlite3的相關(guān)資料,SQLite是一個輕量級、跨平臺的關(guān)系型數(shù)據(jù)庫。它的核心引擎本身不依賴第三方的軟件,使用它也不需要“安裝”。下面文字將對其簡單介紹,需要的小伙伴可以參考下面文章內(nèi)容
    2021-09-09
  • Python實現(xiàn)CET查分的方法

    Python實現(xiàn)CET查分的方法

    這篇文章主要介紹了Python實現(xiàn)CET查分的方法,實例分析了Python操作鏈接查詢的技巧,需要的朋友可以參考下
    2015-03-03
  • 在Python程序中操作MySQL的基本方法

    在Python程序中操作MySQL的基本方法

    這篇文章主要介紹了再Python程序中操作MySQL的基本方法,主要借助了MYSQLdb module,需要的朋友可以參考下
    2015-07-07
  • media配置及把用戶頭像從數(shù)據(jù)庫展示到前端的操作方法

    media配置及把用戶頭像從數(shù)據(jù)庫展示到前端的操作方法

    media配置可以讓用戶上傳的所有文件都固定的存放在某一個指定的文件夾下,接下來通過本文給大家介紹下media配置及把用戶頭像從數(shù)據(jù)庫展示到前端的操作,需要的朋友可以參考下
    2022-09-09
  • python實現(xiàn)煙花小程序

    python實現(xiàn)煙花小程序

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)煙花小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評論