Página 1 de 1

Problemas con librería urllib2

Publicado: 09 May 2011, 13:56
por xextil
Buenas a todos,

Resulta que estoy programando un nuevo repositorio de subtítulos para xmbc subtitles, en concreto para la página http://www.asia-team.net que almacena sus subs en http://subs.asia-team.net, con la idea de hacer en breve un canal de esta página para pelisalacarta. Ya he conseguido que me busque subtítulos, que descargue la mayoría de ellos e incluso que diferencie entre subtitulos completos o divididos por cds, pero hay descargas de varios subtítulos que se me resisten. La cuestión es que el enlace a la página de descarga hace una redirección a otra que contiene espacios en su url, por lo que la urllib2 va bien a la primera dirección pero al redireccionar a la segunda no sustituye los espacios por los %20 necesarios, y entonces se produce un error 404.

Pongo un ejemplo más claro: la dirección de este subtítulo por ejemplo: http://subs.asia-team.net/download.php?id=436 lleva a esta página: http://subs.asia-team.net/upload/A%20Ti ... am.Net.rar , pero solo reconoce la dirección hasta el primer espacio por lo que se produce el error.

Navegando por la red, he visto que es un fallo de esta librería ya subsanado a partir de la versión 2.7 con la que ya he comprobado que no falla, pero como xbmc utiliza la versión 2.4.5 no hay manera de hacerlo funcionar. ¿Habría alguna forma de sacar la url de la redirección y cambiarle los espacios por los %20? Si hace falta pongo el código que tengo puesto, pero es un simple urlopen y con otros métodos que ya he probado con esta librería da el mismo fallo. A ver si puedo solucionarlo y me pongo con el canal que me interesa mucho. Esta tarde colgaré otros dos que ya tengo hechos.

Un saludo!

Re: Problemas con librería urllib2

Publicado: 11 May 2011, 10:47
por xextil
Aleluya! :D Luego de probar variaciones de código encontrados por la red sin éxito, al final he encontrado la solución. Sé que es un problema muy concreto y que pasará pocas veces,pero por si a alguien le sirve lo he acabado por solucionar utilizando la librería mechanize, con ella el enlace se redirige a pesar de los espacios en la url y me abre perfectamente el archivo.

El código quedaría así, muy sencillo y funcional:

Código: Seleccionar todo

req = mechanize.Browser()
page = req.open(url)
content = page.read()
Saludos!

Re: Problemas con librería urllib2

Publicado: 15 May 2011, 16:46
por jesus
Interesante... muchas gracias :)