python中urlparse模块介绍与使用示例

 更新时间:2017年11月19日 14:19:38   作者:菜鸡_堃  
这篇文章主要给大家介绍了关于python中urlparse模块介绍与使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

简介

urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接。urlparse库用于把url解析为各个组件,支持file,ftp,http,https, imap, mailto, mms, news, nntp, prospero, rsync, rtsp, rtspu, sftp, shttp, sip, sips, snews, svn, svn+ssh, telnet等几乎所有的形式。

注意:根据其官网的说明,在Python3.0中,此库已经更名为urllib.parse了。

使用说明

1.urlparse.urlparse

将url分为6个部分,返回一个包含6个字符串项目的元组:协议、位置、路径、参数、查询、片段。

import urlparse
url_change = urlparse.urlparse('https://i.cnblogs.com/EditPosts.aspx?opt=1')
print url_change

输出结果为:

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

其中 scheme 是协议  netloc 是域名服务器  path 相对路径  params是参数,query是查询的条件

urlparse.parse_qs(urlparse.urlparse(url).query)

这个是获取urlparse分割后元祖中的某一项  urlparse.urlparse(url).query   获取查询条件

parse_qs 有几种实现

  • urlparse.parse_qs 返回字典
  • urlparse.parse_qsl 返回列表

2. urlparse.urlsplit

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

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

其中 scheme 是协议  netloc 是域名服务器  path 相对路径 query是查询的条件

3.urlparse.urljoin

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

import urlparse
new_url = urlparse.urljoin('https://baidu.com/ssss/','88888')
print new_url

输出 https://baidu.com/ssss/88888

如果输入错误信息 如  new_url = urlparse.urljoin('122','88888')    并不会将两者合并   输出‘88888'

urlparse获取url后面的参数

如果给定你一个URL,比如: http://url/api?param=2&param2=4 我们需要获取参数名和参数值的话,那可以用到python标准库urlparse

import urlparse
def qs(url):
  query = urlparse.urlparse(url).query
  return dict([(k,v[0]) for k,v in urlparse.parse_qs(query).items()])

print qs('http://url/api?param=2&param2=4') 返回的结果: {'param':'2','param2':'4'}

注意:这个模块的parse_qs方法在2;5的版本是不存在的,只有2.5以上的才有,你需要调用该方法的时候可以先通过dir(urlparse)查看模块urlparse是否有相应的方法。

官方文档地址  http://docs.python.org/library/urlparse.html

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Python编写memcached启动脚本代码实例

    Python编写memcached启动脚本代码实例

    这篇文章主要介绍了Python编写memcached启动脚本代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Python如何快速下载依赖

    Python如何快速下载依赖

    本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法,可以有效提升Python项目的依赖下载速度
    2025-03-03
  • python之OpenCV的作用以及安装案例教程

    python之OpenCV的作用以及安装案例教程

    这篇文章主要介绍了python之OpenCV的作用以及安装案例教程,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • python实现飞船大战

    python实现飞船大战

    这篇文章主要为大家详细介绍了python实现飞船大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • Python面向对象编程(一)

    Python面向对象编程(一)

    本文详细讲解了Python的面向对象编程,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 使用Python实现SSH隧道界面功能

    使用Python实现SSH隧道界面功能

    这篇文章主要介绍了使用Python实现一个SSH隧道界面功能,界面使用tkinter实现,左边是输入隧道的信息,右边为历史列表,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-02-02
  • Django如何实现内容缓存示例详解

    Django如何实现内容缓存示例详解

    缓存对于大家来说应该都不陌生,下面这篇文章主要给大家介绍了关于Django如何实现内容缓存的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-09-09
  • python程序的组织结构详解

    python程序的组织结构详解

    这篇文章主要为大家介绍了python程序的组织结构,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • python读取csv和txt数据转换成向量的实例

    python读取csv和txt数据转换成向量的实例

    今天小编就为大家分享一篇python读取csv和txt数据转换成向量的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python paramiko模块学习分享

    python paramiko模块学习分享

    这篇文章主要为大家分享了python paramiko模块的学习资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论