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

yipeiwu_com7年前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中使用装饰器来优化尾递归的示例

尾递归简介 尾递归是函数返回最后一个操作是递归调用,则该函数是尾递归。 递归是线性的比如factorial函数每一次调用都会创建一个新的栈(last-in-first-out)通过不断的...

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

代码: import sys from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication) fro...

Python迭代器iterator生成器generator使用解析

1. 迭代 根据记录的前面的元素的位置信息 去访问后续的元素的过程 -遍历 迭代 2. 可迭代对象 iterable 如何判断可迭代对象的3种方式 能够被迭代访问的对象 for...

Python配置虚拟环境图文步骤

Python配置虚拟环境图文步骤

使用Python进行项目开发时,由于不同的项目需要,可能会配置多个开发环境,不同开发环境之间的项目依赖包如果混合在一起,可能会引起意想不到的错误,本文主要介绍如何通过虚拟环境隔离不同开发...

python使用正则表达式来获取文件名的前缀方法

在我们处理文件的时候,会遇到这样的一种场景,我们需要对某个文件进行操作,然后生成与原文件名相同的文件(只是文件格式改变)。那么这个时候就可以使用正则表达式来匹配我们所需要的字符串。 实现...