python 基于web脚本编程--urlparse

来源:互联网 发布:数据库表结构设计 viso 编辑:程序博客网 时间:2024/06/08 17:00

urlparse----分解URL

作用:将URL分解为其组成部分。

1 解析作用

urlparse()函数的返回值是一个对象,相当于一个包含6个元素的tuple。

from urlparse import urlparseurl = 'https://netloc/path;param?query=arg#frag'parsed = urlparse(url)print parsed
结果:

ParseResult(scheme='https', netloc='netloc', path='/path', params='param', query='query=arg', fragment='frag')
解释:

通过元组接口得到的url部分分别是机制,网络位置,路径,路径段参数(由一个分号与路径分开),查询以及片段。

尽管返回值相当于一个元组,但是实际上它基于一个namedtuple,这是tuple的一个子类,除了可以通过索引访问,还支持通过命名属性访问URL的各部分,属性API不仅更易于程序猿使用,还允许访问tuple API未提供的很多值。

from urlparse import urlparseurl = 'http://user123:pwd@NetLoc:80/path;param?query=arg#frag'parsed = urlparse(url)print 'scheme : ', parsed.schemeprint 'netloc : ', parsed.netlocprint 'path : ' , parsed.pathprint 'params : ',parsed.paramsprint 'query : ', parsed.queryprint 'fragment : ', parsed.fragmentprint 'username: ' , parsed.usernameprint 'password: ' , parsed.passwordprint 'hostname: ', parsed.hostname,'(netloc in lowercase)'print 'port : ',  parsed.port
结果:

scheme :  httpnetloc :  user123:pwd@NetLoc:80path :  /pathparams :  paramquery :  query=argfragment :  fragusername:  user123password:  pwdhostname:  netloc (netloc in lowercase)port :  80[Finished in 0.3s]
2,urlsplit()函数可以替换urlparse(),但是表现稍有不同,大家可以自己测试

3,要想从一个URL剥离出片段标示符,如从一个URL查找基页面名,可以使用urldefrag(),可以讲frag分解出来。





0 0
原创粉丝点击