def downloadIfNotModifiedSince(url,timestamp):
logger.info("tvalacarta.core.downloadtools downloadIfNotModifiedSince("+url+","+time.ctime(timestamp)+")")
# Convierte la fecha a GMT
fechaFormateada = time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime(timestamp))
logger.info("fechaFormateada=%s" % fechaFormateada)
# Comprueba si ha cambiado
inicio = time.clock()
req = urllib2.Request(url)
req.add_header('If-Modified-Since', fechaFormateada)
req.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; es-ES; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12')
updated = False
try:
response = urllib2.urlopen(req)
data = response.read()
#info = response.info()
#logger.info( info.headers )
# Si llega hasta aquí, es que ha cambiado
updated = True
response.close()
except urllib2.URLError,e:
# Si devuelve 304 es que no ha cambiado
if hasattr(e,'code'):
logger.info("Codigo de respuesta HTTP : %d" %e.code)
if e.code == 304:
logger.info("No ha cambiado")
updated = False
# Agarra los errores con codigo de respuesta del servidor externo solicitado
else:
for line in sys.exc_info():
logger.error( "%s" % line )
data=""
fin = time.clock()
logger.info("Descargado en %d segundos " % (fin-inicio+1))
return updated,data
# Download history
评论列表
文章目录