码迷,mamicode.com
首页 > Web开发 > 详细

urlparse模块(专门用来解析URL格式)

时间:2015-11-03 10:43:05      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:

# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#urlparse模块(专门用来解析URL格式)


#URL格式:
#protocol ://hostname[:port] / path / [;parameters][?query]#fragment
#parameters:特殊参数,一般用的很少。



#1、urlparse方法
#将url解析为6元组,返回一个ParseResult对象元组。
url=http://user:passwd@www.163.com:80/path;parameters?query=argument#fragment
import urlparse
pase=urlparse.urlparse(url)
print pase
#ParseResult(scheme=‘http‘, netloc=‘user:passwd@www.163.com:80‘, path=‘/path‘, params=‘parameters‘, query=‘query=argument‘, fragment=‘fragment‘)



#2、urlsplit方法
#返回一个SplitResult对象。如果url中没有[;parameters],建议使用urlsplit,更明确,更简洁。
pase=urlparse.urlsplit(url)
print pase
#SplitResult(scheme=‘http‘, netloc=‘user:passwd@www.163.com:80‘, path=‘/path;parameters‘, query=‘query=argument‘, fragment=‘fragment‘)




#3、获取URL属性值等方法
url=http://user:passwd@www.163.com:80/path?query=argument#fragment
pase=urlparse.urlsplit(url)
print pase.scheme#http
print pase.netloc#user:passwd@www.163.com:80
print pase.path#/path
print pase.query#query=argument
print pase.username#user
print pase.password#passwd
print pase.hostname#www.163.com
print pase.port#80
print pase.geturl()#http://user:passwd@www.163.com:80/path?query=argument#fragment



#4、urljoin,进行合并url操作,给FAQ.html添加基础URL地址
print urlparse.urljoin(http://www.cwi.nl/%7Eguido/Python.html, FAQ.html)
#‘http://www.cwi.nl/%7Eguido/FAQ.html‘




#5、实例:
url=http://api.k780.com:88/?app=weather.today&weaid=1&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=xml
pase=urlparse.urlsplit(url)
print pase
‘‘‘
SplitResult(
scheme=‘http‘,
netloc=‘api.k780.com:88‘,
path=‘/‘,
query=‘app=weather.today&weaid=1&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=xml‘,
fragment=‘‘
)
‘‘‘

 

urlparse模块(专门用来解析URL格式)

标签:

原文地址:http://www.cnblogs.com/dengyg200891/p/4932286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!