python的urlparse

urlparse主要是URL的分解和拼接,分析出URL中的各项参数,可以被其他的URL使用。

主要的函数有:

1、urlparse

将URL分解为6个片段,返回一个元组,包括协议、基地址、相对地址等等

import urlparse
url = urlparse.urlparse('http://blog.csdn.net/?ref=toolbar'
print url

输出结果为:

ParseResult(scheme='http', netloc='blog.csdn.NET', path='/', params='', query='ref=toolbar', fragment='')

scheme是协议,netloc是服务器地址,path是相对路径,params是参数,query是查询的条件。

如果知道服务器的地址的话,可以以服务器的地址为基地址,拼接其他的相对路径,组成新的URL。

2、urlsplit

和urlparse的作用差不多,将URL分解为5个片段,返回一个元组。返回一个包含5个字符串项目的元组:协议、位置、路径、查询、片段。

  1. import urlparse  
  2. url = urlparse.urlsplit('http://blog.csdn.net/?ref=toolbar')  
  3. print url  

运行结果为:

SplitResult(scheme='http', netloc='blog.csdn.net', path='/', query='ref=toolbar', fragment='')

3、urljoin

基地址和相对地址的拼接。

这个函数比较复杂,不同的数据得出的结果大不一样,而且容易出现错误,不建议用这个函数

urlparse.urljoin(base, url[, allow_fragments])

4、urlunparse

和urlparse的效果相反,可以把6个部分拼接起来。

urlparse.urlunparse(data)

返回一个string

例子:

  1. import urlparse  
  2.   
  3. url = "https://www.google.com.hk:8080/home/search;12432?newwi.1.9.serpuc#1234"  
  4.   
  5. r = urlparse.urlparse(url)  
  6. print r  
  7. print r.port,r.hostname  
  8. print r.geturl()  
  9. r = urlparse.urlsplit(url)  
  10. print r  
  11. parts = ["http","www.facebook.com","/home/email","132","parts","md5=?"]  
  12. print urlparse.urlunparse(parts)  
  13.   
  14. print urlparse.urlunsplit(parts[0:5])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值