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

简介

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

总结

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

(0)

相关推荐

  • python使用urlparse分析网址中域名的方法

    本文实例讲述了python使用urlparse分析网址中域名的方法.分享给大家供大家参考.具体如下: 这里给定网址,通过下面这段python代码可以很容易获取域名信息 import urlparse url = "http://www.jb51.net" domain = urlparse.urlsplit(url)[1].split(':')[0] print "The domain name of the url is: ", domain 输出结果如下: Th

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

    一.简介 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=

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

    简介 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中,此库已经更名为url

  • 利用Python中xlwt模块操作excel的示例详解

    目录 一.安装 二.创建表格并写入 三.设置单元格样式 四.设置单元格宽度 五.设置单元格背景色 六.设置单元格内容对齐方式 七.单元格添加超链接 八.单元格添加公式 九.单元格中输入日期 十.合并行和列 十一.单元格添加边框 一.安装 pip install xlwt 二.创建表格并写入 import xlwt # 创建一个workbook并设置编码 workbook = xlwt.Workbook(encoding = 'utf-8') # 添加sheet worksheet = workb

  • Python中pandas模块DataFrame创建方法示例

    本文实例讲述了Python中pandas模块DataFrame创建方法.分享给大家供大家参考,具体如下: DataFrame创建 1. 通过列表创建DataFrame 2. 通过字典创建DataFrame 3. 通过Numpy数组创建DataFrame DataFrame这种列表式的数据结构和Excel工作表非常类似,其设计初衷是讲Series的使用场景由一维扩展到多维. DataFrame由按一定顺序的多列数据组成,各列的数据类型可以有所不同(数值.字符串.布尔值). Series对象的Ind

  • python中MethodType方法介绍与使用示例

    前言 本文主要给大家介绍了关于python中MethodType方法的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍吧 示例代码 #!/usr/bin/python # -*-coding:utf-8-*- from types import MethodType """ 文件名 class2.py MethodType 测试 """ # 首先看第一种方式 #创建一个方法 def set_age(self, arg): self

  • Python中operator模块的操作符使用示例总结

    operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数.operator模块是用c实现的,所以执行速度比python代码快. 逻辑操作 from operator import * a = [1, 2, 3] b = a print 'a =', a print 'b =', b print print 'not_(a) :', not_(a) print 'truth(a) :', truth(a) print 'is_(a, b) :', is_(a,

  • Python中atexit模块的基本使用示例

    atexit模块很简单,只定义了一个register函数用于注册程序退出时的回调函数,我们可以在这个回调函数中做一些资源清理的操作. 注:如果程序是非正常crash,或者通过os._exit()退出,注册的回调函数将不会被调用. 我们也可以通过sys.exitfunc来注册回调,但通过它只能注册一个回调,而且还不支持参数.所以建议大家使用atexit来注册回调函数.但千万不要在程序中同时使用这两种方式,否则通过atexit注册的回调可能不会被正常调用.其实通过查阅atexit的源码,你会发现原来

  • python中hashlib模块用法示例

    我们以前介绍过一篇Python加密的文章:Python 加密的实例详解.今天我们看看python中hashlib模块用法示例,具体如下. hashlib hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法 具体应用 #!/usr/bin/env python # -*- coding: UTF-8 -*- #pyversion:python3.5 #owner:fuzj import h

  • python中string模块各属性以及函数的用法介绍

    任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作. python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: • python的字符串属性函数 • python的string模块 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.字符串属性函数  系统版本:CentOS release 6.2 (Final)2.6.32-220.

  • python中sys模块的介绍与实例

    python版本: Python 2.7.6 1: sys是python自带模块. 利用 import 语句输入sys 模块. 当执行import sys后, python在 sys.path 变量中所列目录中寻找 sys 模块文件.然后运行这个模块的主块中的语句进行初始化,然后就可以使用模块了 . 2: sys模块常见函数 可以通过dir()方法查看模块中可用的方法. 结果如下, 很多我都没有用过, 所以只是简单介绍几个自己用过的方法. $ python Python 2.7.6 (defau

  • Python中python-nmap模块的使用介绍

    目录 一.python-nmap的安装 二.python-nmap模块的使用 1.portScanner()类 环境: python 2.7.13 Windows和Linux默认都是不安装python-nmap的,我们得手动安装 一.python-nmap的安装 linux: wge t http://xael.org/pages/python-nmap-0.6.1.tar.gz tar  -zxvf  python-nmap-0.6.1.tar.gz cd  python-nmap-0.6.1

随机推荐