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

# -*- 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=''
)
'''
原文地址:https://www.cnblogs.com/dengyg200891/p/4932286.html