基于python(urlparse)模板的使用方法总结

yipeiwu_com5年前Python基础

一、简介

urlparse模块用户将url解析为6个组件,并以元组形式返回,返回的6个部分,分别是:scheme(协议)、netloc(网络位置)、path(路径)、params(路径段参数)、query(查询)、fragment(片段)。

二、功能列举

1、urlparse.urlparse()(将url解析为组件,url必须以http://开头)

>>> urlparse.urlparse("https://i.cnblogs.com/EditPosts.aspx?opt=1")
ParseResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', params='', query='opt=1', fragment='')

返回的元素中也会包含其他属性,比如(username,password,hostname,port):

>>> urlparse.urlparse("https://i.cnblogs.com:80/EditPosts.aspx?opt=1").port
80
>>> urlparse.urlparse("https://i.cnblogs.com:80/EditPosts.aspx?opt=1").hostname
'i.cnblogs.com'

2、urlparse.urljoin()(将相对的地址组合成一个url,对于输入没有限制,开头必须是http://,否则将不组合前面)

>>> urlparse.urljoin("https://i.cnblogs.com","EditPosts.aspx")
'https://i.cnblogs.com/EditPosts.aspx'

3、urlparse.urlsplit() :返回一个5个元素的元组,适用于遵循RFC2396的URL

>>> urlparse.urlsplit("https://i.cnblogs.com:80/EditPosts.aspx?opt=1")
SplitResult(scheme='https', netloc='i.cnblogs.com:80', path='/EditPosts.aspx', query='opt=1', fragment='')

4、urlparse.urlunsplit() :使用urlsplit的格式组合成一个url,传递的元素必须是5个,或者直接将分解的元组重新组合

>>> urlparse.urlunsplit(("https","i.cnblogs.com","EditPosts.aspx","a=a","b=b"))
'https://i.cnblogs.com/EditPosts.aspx?a=a#b=b'
>>> parse = urlparse.urlsplit("https://i.cnblogs.com:80/EditPosts.aspx?opt=1")
>>> urlparse.urlunsplit(parse)
'https://i.cnblogs.com:80/EditPosts.aspx?opt=1'

5、urlparse.urlunparse() :使用urlparse的格式组合成一个url,可以直接将urlparse的返回传递组合

>>> parse = urlparse.urlparse("https://i.cnblogs.com:80/EditPosts.aspx?opt=1")
>>> urlparse.urlunparse(parse)
'https://i.cnblogs.com:80/EditPosts.aspx?opt=1'
>>> urlparse.urlunparse(("https","i.cnblogs.com","/EditPosts.aspx","","opt=1",""))
'https://i.cnblogs.com/EditPosts.aspx?opt=1'

以上这篇基于python(urlparse)模板的使用方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python使用Pandas对csv文件进行数据处理的方法

Python使用Pandas对csv文件进行数据处理的方法

今天接到一个新的任务,要对一个140多M的csv文件进行数据处理,总共有170多万行,尝试了导入本地的MySQL数据库进行查询,结果用Navicat导入直接卡死....估计是XAMPP套...

50行代码实现贪吃蛇(具体思路及代码)

50行代码实现贪吃蛇(具体思路及代码)

最近一直在准备用来面试的几个小demo,为了能展现自己,所以都是亲自设计并实现的,其中一个就是在50行代码内来实现一个贪吃蛇,为了说明鄙人自己练习编程的一种方式--把代码写短,为了理解语...

教你使用python实现微信每天给女朋友说晚安

教你使用python实现微信每天给女朋友说晚安

本文为大家分享了教你用微信每天给女朋友说晚安的python实战,供大家参考,具体内容如下 但凡一件事,稍微有些重复。我就考虑怎么样用程序来实现它。 这里给各位程序员朋友分享如何每天给朋友...

Python生成器(Generator)详解

通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后...

Python中基础的socket编程实战攻略

在网络通信中socket几乎无处不在,它可以看成是应用层与TCP/IP协议簇通信的中间软件抽象层,是两个应用程序彼此进行通信的接口,并且把复杂的TCP/IP协议细节隐藏在接口之后。Pyt...