Je télécharge un répertoire entier à partir d'un serveur Web. Cela fonctionne bien, mais je ne sais pas comment obtenir la taille du fichier avant le téléchargement pour comparer s'il a été mis à jour sur le serveur ou non. Est-ce que cela peut être fait comme si je téléchargeais le fichier depuis un serveur FTP ?
import urllib
import re
url = 'http://www.someurl.com'
# Download the page locally
f = urllib.urlopen(url)
html = f.read()
f.close()
f = open ('temp.htm', 'w')
f.write (html)
f.close()
# List only the .TXT / .ZIP files
fnames = re.findall('^.*<a href='(w+(?:.txt|.zip)?)'.*$', html, re.MULTILINE)
for fname in fnames:
print fname, '...'
f = urllib.urlopen(url + '/' + fname)
#### Here I want to check the filesize to download or not ####
file = f.read()
f.close()
f = open (fname, 'w')
f.write (file)
f.close()
@Jon : merci pour votre réponse rapide. Cela fonctionne, mais la taille du fichier sur le serveur Web est légèrement inférieure à la taille du fichier téléchargé.
Exemples :
Local Size Server Size
2.223.533 2.115.516
664.603 662.121
Cela a quelque chose à voir avec la conversion CR/LF ?