Salve ragazzi,
c’è una ristretta (ma neanche tanto) cerchia di persone, che rispondono al nome di studenti universitari, che ogni mese, dopo aver sostenuto gli n-mila esami del caso, attendono con trepidazione l’uscita dei risultati.
Molti docenti pubblicano gli esiti degli esami sul loro sito, che il più delle volte è spartano ma funzionale…
Quante volte siete stati a fare “refresh” sul sito aspettando l’uscita dei risultati?
Per voi (e per me) ho creato questo semplicissimo script che controlla, ad intervalli regolari, che una pagina web sia stata aggiornata.. comodo no?
Ovviamente si può migliorare, ad esempio gestendo un log di ultime modifiche, in modo che il programma tenga lo storico!
Nota: Non funziona su siti con strutture complesse, tipo cgi based e company
Ecco il codice:
# Don't Panic! - Scritto da Alfredo Di Napoli - 2009 import urllib import sys import re import time try: sito = urllib.urlopen(sys.argv[1]) except IOError: print "Indirizzo non valido o irraggiungibile." sys.exit(1) current = re.search("Last-Modified.*\r",sito.info().__str__()).group(0) ultima_modifica = current print "Don't Panic - v_0.1\n" try: while current == ultima_modifica: exp = re.search("Last-Modified.*\r",sito.info().__str__()) ultima_modifica = str(exp.group(0)) print ultima_modifica time.sleep(10) print "C'e' stata una modifica!" except KeyboardInterrupt: print "Grazie per aver usato Don't Panic."Spero lo troviate utile, anzi, fatemi sapere se vi ha funzionato visto che l’ho codato
in 10 minuti e oltretutto a casa mia era andata via la corrente 😛
Usage: python dont_panic.py url_sito
Sicuro che con Last Modified sei sempre al corrente degli aggiornamenti del sito web?
Io ne ho implementato uno simile, dalla stessa semantica, ma implementato in maniera diversa.
Calcolo l’hash della pagina cui il modulo punta e dopo tot. secondi lo ricalcolo: se i due hash sono diversi c’è stata una modifica 😉
Ciao e in bocca al lupo per gli esami!
Ciao ennio 😉
In realtà funziona solo sui siti pure html, ovvero senza componenti dinamici…
Anzi, poi mi sono accorto che in realtà è buggato perchè deve fare SEMPRE il read del sito perchè altrimenti non si accorge delle modifiche 😀 😀
ubuntu_of_fortune mi aveva parlato di un moduletto simile che avevate implementato, sono sicuro sia molto interessante!
Crepi il lupo e in bocca al lupo per lo studio/carriera 😀
Ciao!