Question

Est-ce que quelqu'un connaît une bibliothèque pour réparer " cassé " urls. Lorsque j'essaie d'ouvrir une URL telle que

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

urllib2.urlopen étouffe et me donne un suivi HTTPError. Quelqu'un connaît-il une bibliothèque capable de résoudre ce genre de problème?

Était-ce utile?

La solution

Voir aussi cette question .

Autres conseils

Qu'en est-il de quelque chose comme ...:

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()

il émet, comme vous le souhaitez:

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

et semblerait correspondre approximativement à vos besoins, si je les ai bien compris.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top