Pregunta

¿Alguien sabe de una biblioteca para arreglar " roto " urls Cuando intento abrir una url como

http://www.domain.com/../page.html
http://www.domain.com//page.html
http://www.domain.com/page.html#stuff

urllib2.urlopen se ahoga y me da un rastreo HTTPError. ¿Alguien sabe de una biblioteca que pueda arreglar este tipo de cosas?

¿Fue útil?

Solución

Consulte también esta pregunta .

Otros consejos

¿Qué pasa con algo como ...:

import re
import urlparse

urls = '''
http://www.domain.com/../page.html
http://www.domain.com//page.html
http://www.domain.com/page.html#stuff
'''.split()

def main():
  for u in urls:
    pieces = list(urlparse.urlparse(u))
    pieces[2] = re.sub(r'^[./]*', '/', pieces[2])
    pieces[-1] = ''
    print urlparse.urlunparse(pieces)

main()

emite, como lo desee:

http://www.domain.com/page.html
http://www.domain.com/page.html
http://www.domain.com/page.html

y parecería coincidir aproximadamente con sus necesidades, si las entendiera correctamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top