urlparse -- 解析(绝对和相对)URL

函数:
    parse_qs(qs, keep_blank_values=0, strict_parsing=0)
        解析一个查询字符串
        qs: 要被解析的由%编码的查询字符串
        keep_blank_values: 标识查询字符串中空值是否应该看出空字符串,默认为False,直接忽略
        strict_parsing:标识解析错误时做什么。默认为False忽略错误,True则抛出ValueError异常
        返回字典对象
    parse_qsl(qs, keep_blank_values=0, strict_parsing=0)
        解析一个查询字符串
        qs: 要被解析的由%编码的查询字符串
        keep_blank_values: 标识查询字符串中空值是否应该看出空字符串,默认为False,直接忽略
        strict_parsing:标识解析错误时做什么。默认为False忽略错误,True则抛出ValueError异常
        返回列表,每个项为元组('key名', 'value值')
    urljoin(base, url, allow_fragments=True)
        连接base和url返回绝对URL
    urlparse(url, shceme='', allow_fragments=True)
        将URL解析为6个部分:
            <scheme>://<netloc>/<path>;<params>?<query>#<fragment>
            返回6个元素的元组: (scheme, netloc, path, prams, query, fragment)
    urlunparse(data)    urlparse的反向操作
    urlsplit(url, scheme='', allow_fragments=True)
        将URL解析为5个部分:
            <scheme>://<netloc>/<path>?<query>#<fragment>
            返回5个元素的元组: (scheme, netloc, path, query, fragment)
    urlunsplit(data) urlsplit的反向操作
    urldefrag(url)    移除存在的fragment(即#fragment),返回元组(URL, Fragment)
    
实例:

    #!/usr/bin/env python

    # -*- coding:UTF-8 -*-

    import urlparse

    url = 'http://www.example.com/index.php?arg1=val1&arg2=val2#frag1'

    data = urlparse.urlparse(url)  #解析为元组

    print data
    #以下为反向操作

    print urlparse.urlunparse(data)