J'utilise la méthode urllib2.urlopen
pour ouvrir une URL et récupérer le balisage d'une page Web. Certains de ces sites me redirigent en utilisant les redirections 301/302. J'aimerais connaître l'URL finale à laquelle j'ai été redirigé. Comment puis-je l'obtenir?Comment puis-je obtenir l'URL de redirection finale lors de l'utilisation de urllib2.urlopen?
17
A
Répondre
31
Appelez la méthode .geturl()
de l'objet fichier renvoyé. Par la urllib2
docs:
geturl()
- renvoyer l'URL de la ressource extraite, utilisée pour déterminer si une redirection a été suivie
Exemple:
import urllib2
response = urllib2.urlopen('http://tinyurl.com/5b2su2')
response.geturl() # 'http://stackoverflow.com/'
4
La valeur de retour de urllib2.urlopen
a une méthode geturl()
qui devrait renvoyer l'URL actuelle (c'est-à-dire la dernière redirection).
0
Vous pouvez utiliser HttpLib2
avec follow_all_redirects = True
et obtenir le content-location
à partir des en-têtes de réponse. Voir my answer to 'httplib is not getting all the redirect codes' pour un exemple.
1
.: par exemple urllib2.urlopen('ORIGINAL LINK').geturl()
urllib2.urlopen(urllib2.Request('ORIGINAL LINK')).geturl()
Questions connexes
- 1. unbuffered urllib2.urlopen
- 2. Modification de l'agent utilisateur sur urllib2.urlopen
- 3. Détection des erreurs de timeout dans urllib2 urlopen de Python
- 4. Python urllib2 instruction multiple try sur urlopen()
- 5. Comment puis-je déterminer l'URL finale après la redirection en utilisant python/urllib2?
- 6. urllib2.urlopen lance 404 exception pour urls ce navigateur ouvre
- 7. Est-ce que urllib2.urlopen() cache des choses?
- 8. Mocking urllib2.urlopen et lxml.etree.parse en utilisant pymox
- 9. urllib2.urlopen() vs urllib.urlopen() - urllib2 lance 404 alors que urllib fonctionne! POURQUOI?
- 10. comment obtenir url redirigé finale
- 11. Comment obtenir une barre de progression de téléchargement pour urllib2?
- 12. Utilisation du sondage sur un objet de type fichier renvoyé par urllib2.urlopen()?
- 13. Obtenir des informations sur chaque redirection sur le chemin de l'URL finale en utilisant curl_getinfo
- 14. Comment faire python urllib2 suivre la méthode de redirection et de maintien
- 15. Comment obtenir le journal de redirection Mécaniser?
- 16. Comment obtenir une réponse de redirection
- 17. StringBuilder: comment obtenir la chaîne finale?
- 18. Pourquoi ne puis-je pas télécharger un fichier image entier avec urllib2.urlopen()
- 19. Masquage de l'URL lors de la redirection
- 20. jquery ajax form - comment obtenir l'URL de redirection?
- 21. Quels sont les paramètres de registre/environnement (ou autre) utilisés par urllib2.urlopen pour déterminer les paramètres de proxy?
- 22. urllib2 envoi de données
- 23. .getScript obtenir l'URL de redirection de javascript
- 24. Qu'est-ce qui provoque urllib2.urlopen() à se connecter via proxy?
- 25. comment obtenir l'url de redirection de ajax handler dans C#
- 26. Python urllib2.urlopen retournant 302 erreur même si la page existe
- 27. UnicodeEncodeError lors de la redirection stdout
- 28. Page de redirection de redirection
- 29. QUERY_STRING dans .htaccess Lors de la redirection
- 30. Obtenir l'URL de redirection avec Java org.apache.http.client
comment gérer quand il y a plusieurs urls intermédiaires et je veux URL finale? Cela ne fonctionne pas pour ce cas. – Kishan