J'utilise Python 3.5.1 pour Mac. Je veux utiliser urllib2. J'ai essayé de l'installer mais on m'a dit qu'il avait été divisé en urllib.request et urllib.error pour Python 3.
Ma commande (exécutée à partir du répertoire bin du framework pour l'instant car il n'est pas dans mon chemin) :
sudo ./pip3 install urllib.request
Retourne :
Could not find a version that satisfies the requirement urllib.request (from versions: )
No matching distribution found for urllib.request
J'ai eu la même erreur avant quand j'ai essayé d'installer urllib2 en une seule fois.
WARNING : Des chercheurs en sécurité ont trouvé plusieurs paquets empoisonnés sur PyPI, dont un paquet nommé
urllib
, qui 'phone home' ; lorsqu'il est installé. Si vous avez utilisépip install urllib
quelque temps après juin 2017, supprimez ce paquet aussi vite que possible.
Vous ne pouvez pas, et vous n'avez pas besoin de le faire.
urllib2
est le nom de la bibliothèque incluse dans Python 2. Vous pouvez utiliser la bibliothèque urllib.request
incluse dans Python 3, à la place. La bibliothèque urllib.request
fonctionne de la même manière que urllib2
dans Python 2. Comme elle est déjà incluse, vous n'avez pas besoin de l'installer.
Si vous suivez un tutoriel qui vous dit d'utiliser urllib2
, vous rencontrerez plus de problèmes. Votre tutoriel a été écrit pour Python 2, pas pour Python 3. Trouvez un autre tutoriel, ou installez Python 2.7 et continuez votre tutoriel sur cette version. Vous trouverez urllib2
fourni avec cette version.
Vous pouvez également installer la [bibliothèque requests
] (https://pypi.python.org/pypi/requests) pour une API de plus haut niveau et plus facile à utiliser. Elle fonctionne à la fois sur Python 2 et 3.
Conformément à [docs] (https://docs.python.org/2/library/urllib2.html) :
Note. Le module urllib2 a été divisé en plusieurs modules dans Python 3 nommés urllib.request et urllib.error. L'outil 2to3 adaptera automatiquement les importations lors de la conversion de vos sources vers Python 3.
Il semble donc qu'il soit impossible de faire exactement ce que vous voulez mais vous pouvez utiliser les fonctions python3 appropriées de urllib.request
.
Le début de votre script python doit être le suivant :
import urllib2
après cela, vous pouvez continuer avec un exemple libre comme le suivant :
response = urllib2.urlopen('http://pythonforbeginners.com/')
print response.info()
html = response.read()
response.close() # best practice to close the file
ou vous continuez après 'import urllib2' ; avec cet exemple libre comme suit :
page = urllib2.urlopen('http://0.0.0.0')
print page.info()