Je tente de télécharger des fichiers à partir d'un site Web en utilisant urllib comme décrit dans ce fil: link texttéléchargement de fichiers avec Python urllib, urllib2
import urllib
urllib.urlretrieve ("http://www.example.com/songs/mp3.mp3", "mp3.mp3")
Je suis en mesure de télécharger les fichiers (principalement pdf), mais tout ce que j'obtenir est des fichiers corrompus qui ne peuvent pas ouvrir. Je suppose que c'est parce que le site Web nécessite un identifiant.
Comment la fonction ci-dessus peut-elle être modifiée pour gérer les cookies? Je connais déjà les noms des champs de formulaire qui portent le nom d'utilisateur & informations de mot de passe. Lorsque j'imprime les valeurs de retour de urlretrieve je reçois des messages comme:
a, b = urllib.urlretrieve ("http://www.example.com/songs/mp3.mp3", "mp3.mp3")
print a, b
>> **cache-control:** no-cache, no-store, must-revalidate, s-maxage=300, proxy-revalida
te
>> **connection:** close
Je suis en mesure de télécharger manuellement les fichiers si j'entre leurs urls dans le navigateur. Merci
Si le site nécessite une connexion, vous devriez être redirigé vers une page de connexion, mais la page sera enregistrée en tant que votre nom de fichier que vous avez passé + l'extension. Renommez votre 'mp3.mp3' en quelque chose comme' mp3.html' et essayez de l'ouvrir avec un navigateur web. - Ceci est jsut pour s'assurer qu'il demande un login – ccheneson
regardez la bibliothèque de demandes. sauf si vous devez utiliser urllib2, ne le faites pas - cela ne fait que compliquer le tout. http://pypi.python.org/pypi/requests –