url解析 urlparse模块

 

使用urlparse模块可以对url进行分析,最主要的操作就是拆分和合并url的各个部件,那么url有哪些部件呢?下图列出了所有的部件。你可能不太理解,不要着急,我们在例子中看看每个部分都代表着什么。url解析 urlparse模块_第1张图片

  1. 引入urlparse模块,这里只引入了urlparse方法,如果你想要用所有的方法,你需要引入urlparse

  2. 我们将下面的url地址进行拆解,将拆解的结果存放到parsed中

  3. 之后,我们通过parsed的各个属性来访问不同的部分url解析 urlparse模块_第2张图片

  4. 我们看最后输出的结果:通过这样的方法我们可以快速的对url进行操作url解析 urlparse模块_第3张图片

  5. 所有的源码都写在下面:

    from urlparse import urlparse

    parsed = urlparse('url地址')

    print 'scheme  :'+ parsed.scheme   #网络协议

    print 'netloc  :'+ parsed.netloc   #服务器位置(也可呢能有用户信息)

    print 'path    :'+ parsed.path     #网页文件在服务器中存放的位置

    print 'params  :'+ parsed.params   #可选参数

    print 'query   :'+ parsed.query    #连接符(&)连接键值对

    print 'fragment:'+ parsed.fragment #拆分文档中的特殊猫

    print 'username:'+ parsed.username #用户名

    print 'password:'+ parsed.password #密码

    print 'hostname:'+ parsed.hostname #服务器名称或者地址

    print 'port    :', parsed.port     #端口(默认是80)

    例如:

    现在需要用python获取GET发送的url请求比如这样http://localhost/test.py?a=hello&b=world 
    如何在python中获取参数a和b的值

    1. >>> url="http://localhost/test.py?a=hello&b=world "  
    2. >>> result=urlparse.urlparse(url)  
    3. >>> result  
    4. ParseResult(scheme='http', netloc='localhost', path='/test.py', params='', query='a=hello&b=world ', fragment='')  
    5. >>> urlparse.parse_qs(result.query,True)  
    6. {'a': ['hello'], 'b': ['world ']}  
    7. >>> params=urlparse.parse_qs(result.query,True)  
    8. >>> params  
    9. {'a': ['hello'], 'b': ['world ']}  
    10. >>> params['a'],params['b']  
    11. (['hello'], ['world '])  

你可能感兴趣的:(python)