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入门篇之数字
Oct 20 Python
从Python的源码浅要剖析Python的内存管理
Apr 16 Python
使用url_helper简化Python中Django框架的url配置教程
May 30 Python
编写Python CGI脚本的教程
Jun 29 Python
django框架如何集成celery进行开发
May 24 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 Python
K最近邻算法(KNN)---sklearn+python实现方式
Feb 24 Python
Python-for循环的内部机制
Jun 12 Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
教你怎么用python实现字符串转日期
May 24 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
浅谈php7的重大新特性
2015/10/23 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
json 定义
2008/06/10 Javascript
js实现兼容IE6与IE7的DIV高度
2010/05/13 Javascript
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
python3 flask实现文件上传功能
2020/03/20 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
python使用requests.session模拟登录
2019/08/09 Python
关于Python Tkinter Button控件command传参问题的解决方式
2020/03/04 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
文秘求职信范文
2014/04/10 职场文书
农民工讨薪标语
2014/06/26 职场文书
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
工作失职检讨书500字
2014/10/17 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
SQL中的连接查询详解
2022/06/21 SQL Server
详解MySQL的内连接和外连接
2023/05/08 MySQL