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


Posted in Python onNovember 19, 2017

简介

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¶m2=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¶m2=4') 返回的结果: {'param':'2','param2':'4'}

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

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

总结

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

Python 相关文章推荐
python 爬取微信文章
Jan 30 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
Aug 22 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
python 处理telnet返回的More,以及get想要的那个参数方法
Feb 14 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
Python爬虫防封ip的一些技巧
Aug 06 Python
python 多线程中join()的作用
Oct 29 Python
python 实现超级玛丽游戏
Nov 25 Python
Python常遇到的错误和异常
Nov 02 Python
python 多态 协议 鸭子类型详解
Nov 27 Python
Python Flask-web表单使用详解
Nov 18 #Python
python+selenium实现京东自动登录及秒杀功能
Nov 18 #Python
深入理解Python单元测试unittest的使用示例
Nov 18 #Python
Python及PyCharm下载与安装教程
Nov 18 #Python
Python实现读取json文件到excel表
Nov 18 #Python
浅谈python 线程池threadpool之实现
Nov 17 #Python
python线程池(threadpool)模块使用笔记详解
Nov 17 #Python
You might like
PHP 读取和修改大文件的某行内容的代码
2009/10/30 PHP
php解决约瑟夫环示例
2014/04/09 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
laravel学习教程之存取器
2016/07/30 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
JavaScript修改css样式style
2008/04/15 Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
js自定义select下拉框美化特效
2016/05/12 Javascript
Bootstrap表单布局样式源代码
2016/07/04 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
Python操作MySQL数据库9个实用实例
2015/12/11 Python
Python学生信息管理系统修改版
2018/03/13 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
django创建超级用户过程解析
2019/09/18 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
英国景点门票网站:attractiontix
2019/08/27 全球购物
房产代理公证处委托书
2014/04/04 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
物业工程部岗位职责
2015/02/11 职场文书
工作推荐信模板
2015/03/25 职场文书
党组织结对共建协议书
2016/03/23 职场文书
详解pytorch创建tensor函数
2022/03/22 Python