0

「壊れた」URLを修正するためのライブラリを知っている人はいますか。のようなURLを開こうとすると

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

urllib2.urlopen がチョークし、HTTPError トレースバックが表示されます。この種のものを修正できるライブラリを知っている人はいますか?

4

1 に答える 1

1

次のようなものはどうですか...:

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

あなたが望むように、それは放出します:

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

私がそれらを正しく理解していれば、あなたのニーズにほぼ一致しているように見えます.

于 2009-09-17T03:10:31.530 に答える