tl;dr
In diesem Abschnitt wird zusammengefasst, wie URLs und Abfrageparameter in Python analysiert und die prozentuale Codierung konvertiert werden.
In Python3 werden Module wie URL-Erfassung und -Analyse zu "urllib" vereinheitlicht. Die Korrespondenztabelle ist unten zusammengefasst.
Python2 | Python3 | |
---|---|---|
URL-Perspektive | urlparse.urlparse | urllib.parse.urlparse |
Analyse von Abfragezeichenfolgen | urlparse.parse_qs | urllib.parse.parse_qs |
Erstellung von Abfrageparametern | urllib.urlencode | urllib.parse.urlencode |
Flucht | urllib.quote | urllib.parse.quote |
Escape-Wiederherstellung | urllib.unquote | urllib.parse.unquote |
Python3
Der folgende Code setzt einen Import von "urllib" voraus.
import urllib
urllib.parse.urlparse("http://example.com/example.html?foo=bar&hoge=fuga")
# => ParseResult(scheme='http', netloc='example.com', path='/example.html', params='', query='foo=bar&hoge=fuga', fragment='')
urllib.parse.parse_qs("foo=bar&hoge=fuga")
# => {'hoge': ['fuga'], 'foo': ['bar']}
urllib.parse.parse_qs("query=%E3%83%86%E3%82%B9%E3%83%88")
# => {'query': ['Prüfung']}
urllib.parse.urlencode({"query":"Prüfung"})
# => query=%E3%83%86%E3%82%B9%E3%83%88
urllib.parse.quote("Prüfung")
# => %E3%83%86%E3%82%B9%E3%83%88
urllib.parse.unquote("%E3%83%86%E3%82%B9%E3%83%88")
# =>Prüfung
Python2
Der folgende Code setzt den Import von "urllib" und "urlparse" voraus.
import urllib
import urlparse
urlparse.urlparse("http://example.com/example.html?foo=bar&hoge=fuga")
# => ParseResult(scheme='http', netloc='example.com', path='/example.html', params='', query='foo=bar&hoge=fuga', fragment='')
urlparse.parse_qs("foo=bar&hoge=fuga")
# => {'hoge': ['fuga'], 'foo': ['bar']}
urlparse.parse_qs("query=%E3%83%86%E3%82%B9%E3%83%88")
# => {'query': ['Prüfung']}
http://docs.python.jp/2/library/urlparse.html#urlparse.parse_qs
urllib.urlencode({"query":"Prüfung"})
# => query=%E3%83%86%E3%82%B9%E3%83%88
urllib.quote("Prüfung")
# => %E3%83%86%E3%82%B9%E3%83%88
urllib.unquote("%E3%83%86%E3%82%B9%E3%83%88")
# =>Prüfung
Recommended Posts