[Snippet] Website prüfen mit Python

[Snippet] Website prüfen mit Python

Python LogoUm die kurzfristige Erreichbarkeit inklusive einer Responsetime einer Website auszuwerten habe ich ein kleinen Mini-HilfsSkript geschrieben. An die Funktion lässt sich die URL, die Anzahl der Wiederholungen, das Intervall zwischen den Checks festlegen und ein HTTP-Proxy in Form eines Python Dictionaries. Das Skript bietet sicher die Möglichkeiten für diverse Modifizierungen wie zB: für einen Keyword-Check. Für das Skript verwende ich das Python-Standardmodul urllib2.

Code-Beispiel:

import urllib2
import time
import os
 
def url_loop(url, range, sec=2, proxies={}):
    cnt = 0
    time_list = []
    clock_list = []
    while True:
        proxy = urllib2.ProxyHandler(proxies)
        opener = urllib2.build_opener(proxy)
        urllib2.install_opener(opener)
        try:
            start = time.time()
            time.strftime("%d.%m.%Y um %H:%M:%S Uhr")
            request = urllib2.urlopen(url)
            ende = time.time()
            print "%s - HTTP %s - %1.4f seconds - %d" % 
                                         (time.strftime("%H:%M:%S Uhr"), 
                                         request.code, (ende - start), cnt)
            time_list.append(ende - start)
            clock_list.append(time.strftime("%H:%M:%S Uhr"))
        except:
            print "Fehler - %d" % (cnt)
        time.sleep(sec)
        if cnt == range:
            break
        cnt += 1
        #print chr(27) + "[2J"
    print "Avg %1.4f seconds" % (sum(time_list)/len(time_list))
    return [time_list, clock_list]
 
tlist = url_loop("http://city-insider.de", range=2000, sec=2)