orw*_*ian 9 python url parsing
我正在努力将网址转换为嵌套元组.
# Convert this string
str = 'http://somesite.com/?foo=bar&key=val'
# to a tuple like this:
[(u'foo', u'bar'), (u'key', u'val')]
Run Code Online (Sandbox Code Playgroud)
我想我需要做的事情如下:
url = 'http://somesite.com/?foo=bar&key=val'
url = url.split('?')
get = ()
for param in url[1].split('&'):
get = get + param.split('=')
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢!
And*_*are 28
我相信你正在寻找urlparse模块.
该模块定义了一个标准接口,用于在组件中解析统一资源定位符(URL)字符串(寻址方案,网络位置,路径等),将组件组合回URL字符串,并将"相对URL"转换为绝对URL给出"基本URL".
这是一个例子:
from urlparse import urlparse, parse_qsl
url = 'http://somesite.com/?foo=bar&key=val'
print parse_qsl(urlparse(url)[4])
Run Code Online (Sandbox Code Playgroud)
输出:
[('foo', 'bar'), ('key', 'val')]
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我首先使用该urlparse函数来解析整个URL,然后我使用该parse_qsl函数将查询字符串(从中返回的第五个元素urlparse)分解为元组列表.