我想从 URL 中获取要显示的查询名称和值。例如。url='http://host:port_num/file/path/file1.html?query1=value1&query2=value2'
由此解析查询名称及其值并打印它。
问问题
5273 次
2 回答
8
不要使用正则表达式!使用urlparse。
>>> import urlparse
>>> urlparse.parse_qs(urlparse.urlparse(url).query)
{'query2': ['value2'], 'query1': ['value1']}
于 2012-04-04T10:46:43.683 回答
3
我同意最好不要使用regex
,最好使用,urlparse
但这是我的regex
. 像这样的类是专门为有效地处理所有 url 而开发的,并且比使用它们urlparse
要可靠得多。regex
>>> x = 'http://www.example.com:8080/abcd/dir/file1.html?query1=value1&query2=value2'
>>> query_pattern='(query\d+)=(\w+)'
>>> # query_pattern='(\w+)=(\w+)' a more general pattern
>>> re.findall(query_pattern,x)
[('query1', 'value1'), ('query2', 'value2')]
于 2012-04-04T11:02:10.493 回答