En ce moment, c'est louche. Gzip, images, parfois ça ne marche pas. Comment puis-je modifier cette fonction de téléchargement afin qu'elle puisse fonctionner avec n'importe quoi? (Sans tenir compte de gzip ou de tout en-tête?)Comment modifier cette fonction de téléchargement en Python?
Comment puis-je automatiquement "Détecter" si c'est gzip? Je ne veux pas toujours passer Vrai/Faux, comme je le fais maintenant.
def download(source_url, g = False, correct_url = True):
try:
socket.setdefaulttimeout(10)
agents = ['Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)','Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)','Microsoft Internet Explorer/4.0b1 (Windows 95)','Opera/8.00 (Windows NT 5.1; U; en)']
ree = urllib2.Request(source_url)
ree.add_header('User-Agent',random.choice(agents))
ree.add_header('Accept-encoding', 'gzip')
opener = urllib2.build_opener()
h = opener.open(ree).read()
if g:
compressedstream = StringIO(h)
gzipper = gzip.GzipFile(fileobj=compressedstream)
data = gzipper.read()
return data
else:
return h
except Exception, e:
return ""
"il est hasardeux. Gzip, images, parfois, il ne fonctionne pas." Qu'est-ce que ça veut dire? –