Estoy usando el método urllib2.urlopen
para abrir una URL y obtener el marcado de una página web. Algunos de estos sitios me redireccionan utilizando los redireccionamientos 301/302. Me gustaría saber la URL final a la que me redireccionaron. ¿Cómo puedo conseguir esto?¿Cómo puedo obtener la URL de redireccionamiento final al usar urllib2.urlopen?
17
A
Respuesta
31
Llame al método .geturl()
del objeto de archivo devuelto. Per la urllib2
docs:
geturl()
- devolver el URL del recurso recuperada, utilizado comúnmente para determinar si se ha seguido un redireccionamiento
Ejemplo:
import urllib2
response = urllib2.urlopen('http://tinyurl.com/5b2su2')
response.geturl() # 'http://stackoverflow.com/'
4
El valor de retorno de urllib2.urlopen
tiene un método geturl()
que debería devolver la url real (es decir, la última redirección).
0
Puede usar HttpLib2
con follow_all_redirects = True
y obtener el content-location
de los encabezados de respuesta. Ver my answer to 'httplib is not getting all the redirect codes' para un ejemplo.
1
ej .: urllib2.urlopen('ORIGINAL LINK').geturl()
urllib2.urlopen(urllib2.Request('ORIGINAL LINK')).geturl()
Cuestiones relacionadas
- 1. pitón urllib2 urlopen respuesta
- 2. python: urllib2 cómo enviar cookies con la solicitud de urlopen
- 3. ¿Tiene urllib2.urlopen() caché cosas?
- 4. Obtenga la URL al manejar urllib2.URLEror
- 5. urllib.urlopen funciona, pero urllib2.urlopen no
- 6. Python: Obtenga los encabezados HTTP de la llamada urllib2.urlopen?
- 7. cuelga detecta con Python urllib2.urlopen
- 8. urllib2.URLError: <error urlopen [Errno 11004] getaddrinfo fallida>
- 9. cierre de archivos correctamente abrieron con urllib2.urlopen()
- 10. ¿Qué errores/excepciones debo manejar con urllib2.Request/urlopen?
- 11. Python: urllib2.urlopen (url, datos) ¿Por qué tienes que urllib.urlencode() los datos?
- 12. Cómo obtener una respuesta de redireccionamiento
- 13. urllib2.urlopen() vs urllib.urlopen() - urllib2 arroja 404 mientras que urllib funciona! ¿POR QUÉ?
- 14. ¿Cómo puedo forzar la finalización de urllib2?
- 15. ¿Por qué no puedo descargar un archivo de imagen completo con urllib2.urlopen()
- 16. ¿Cómo puedo usar un redireccionamiento .htaccess para una ruta parcial?
- 17. ¿Cómo puedo obtener la URL final después de los redireccionamientos con Ruby?
- 18. nodejs: URL de redireccionamiento de
- 19. Obtener socket para el valor de retorno urllib2.urlopen para HTTP
- 20. HttpWebRequest a URL con punto al final
- 21. Ember.js Enrutamiento: coincidencia al final de la url
- 22. url raya al final y seo
- 23. ¿Cómo puedo agregar variables GET al final de la url actual en php?
- 24. Cómo recuperar una url no ascii con Python urlopen?
- 25. ¿Por qué el urllib2.urlopen() de Python genera un HTTPError para códigos de estado exitosos?
- 26. Urllib2.urlopen() de Python colgando con conexión local a un servidor de Restlet de Java
- 27. ¿Cómo puedo usar un proxy SOCKS 4/5 con urllib2?
- 28. UnicodeEncodeError al recuperar url
- 29. ¿Cómo puedo acortar una URL usando Python?
- 30. Obtener el valor solicitado (URL) al usar las anotaciones @RequestMapping
cómo manejar cuando hay múltiples URLs intermedios y quiero URL final? Esto no funciona para ese caso. – Kishan