tl;dr
Cette section résume comment analyser les URL et les paramètres de requête en Python, et comment convertir le codage en pourcentage.
En Python3, des modules tels que l'acquisition et l'analyse d'URL sont unifiés en ʻurllib`. Le tableau de correspondance est résumé ci-dessous.
Python2 | Python3 | |
---|---|---|
Perspective URL | urlparse.urlparse | urllib.parse.urlparse |
Analyse des chaînes de requête | urlparse.parse_qs | urllib.parse.parse_qs |
Création de paramètres de requête | urllib.urlencode | urllib.parse.urlencode |
échapper | urllib.quote | urllib.parse.quote |
Échapper à la restauration | urllib.unquote | urllib.parse.unquote |
Python3
Le code ci-dessous suppose une importation de ʻurllib`.
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': ['tester']}
urllib.parse.urlencode({"query":"tester"})
# => query=%E3%83%86%E3%82%B9%E3%83%88
urllib.parse.quote("tester")
# => %E3%83%86%E3%82%B9%E3%83%88
urllib.parse.unquote("%E3%83%86%E3%82%B9%E3%83%88")
# =>tester
Python2
Le code ci-dessous suppose l'importation de ʻurllib et ʻurlparse
.
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': ['tester']}
http://docs.python.jp/2/library/urlparse.html#urlparse.parse_qs
urllib.urlencode({"query":"tester"})
# => query=%E3%83%86%E3%82%B9%E3%83%88
urllib.quote("tester")
# => %E3%83%86%E3%82%B9%E3%83%88
urllib.unquote("%E3%83%86%E3%82%B9%E3%83%88")
# =>tester
Recommended Posts