python2中有urllib、urllib2、urlparse,但在python3中这些全部都被整合到了urllib中。
urllib和urllib2中的内容整合进了urllib.request模块中,urlparse整合进了urllib.parse中。
python3中urllib中还包括response、error和robotparse这些子模块。

urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接

1.urlparse.urlparse

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

?
1
2
3
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.urlunparse(parts)

从一个元组构建一个url,元组类似urlparse返回的,它接收元组(scheme, netloc, path, parameters, query, fragment)后,会重新组成一个具有正确格式的URL,以便供Python的其他HTML解析模块使用。

import urlparse
url=urlparse.urlparse(‘http://www.baidu.com/index.php?username=guol’)
print url
ParseResult(scheme=‘http’, netloc=‘www.baidu.com’, path=’/index.php’, params=’’, query=‘username=guol’, fragment=’’)
u=urlparse.urlunparse(url)
print u
http://www.baidu.com/index.php?username=guol

python urlparse模块的用法相关推荐

  1. Python—urlparse模块

    urlparse模块主要对url进行分析,其主要的操作是拆分和合并url各个部件.它可以将url拆分为6个部分,并返回元组,也可以把拆分后的部分再组合成一个url. 1.urlparse函数 urll ...

  2. Python urlparse模块介绍

    1.urlparse模块 urlparse用于处理URL字符串,包括urlparse().urlunparse().和urljoin()三个主要功能. URL使用格式: prot_sch://net_ ...

  3. python sys模块 argv用法_python命令行的参数传递(sys.argv)

    我们在命令行启动python脚本后,很多时候都会带上脚本的一些参数(比如给argparse模块的参数).这些参数都是先保存在sys.argv这个list中,然后才给其它模块或功能使用,不过也有一些特别 ...

  4. python os模块详细用法

    os 模块提供了非常丰富的方法用来处理文件和目录 os关于目录路径的方法 # 获取当前路径 path = os.getcwd()# 获取当前绝对路径 os.path.abspath(path)# 创建 ...

  5. python :re模块基本用法

    re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. 函数语法: re.match(pattern, string, ...

  6. Python requests模块高级用法

    2019独角兽企业重金招聘Python工程师标准>>> 快速入门的话可以参考这篇文章,但是进阶的话还是建议参考官方的文档,毕竟官方的文档更新比较及时,也有些高级用法,猛戳这里! 会话 ...

  7. Python argparse模块基本用法

    argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数. import argparsedef main():parser = argparse.ArgumentPars ...

  8. python sys模块 argv用法_python中sys模块的argv

    """笨办法学python,启动时在命令行中python 脚本文件名 filename"""from sys import argv# ar ...

  9. python url模块介绍_python 中 urlparse 模块介绍

    urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接 1.urlparse.urlparse 将url分为6个部分,返回一个包含6个字符串项目的元组:协议.位置.路 ...

最新文章

  1. 机器学习笔记(五)神经网络
  2. 卷积神经网络原理及实现
  3. 30. SQL -- 完整性及约束(1)
  4. Microsoft SQL Server 2000 中的数据转换服务 (DTS)
  5. case mybatis 不同表_解决mybatis case when 报错的问题
  6. Android之Intent深入
  7. 下拉推广系统立择火星推荐_下拉词删除都择火星下拉
  8. opencv mat赋值_【3】OpenCV图像处理模块(18)重映射
  9. 通过伙伴系统申请内核内存的函数有哪些?
  10. android sqllite数据库的多表联合查询
  11. 哨兵系列卫星_国外卫星典型应用
  12. 加密与解密工具大礼包 2010年新品
  13. uniapp中针对H5端做微信分享功能总结
  14. XSS(Reflected) 反射型跨站攻击
  15. 四阶龙格库塔法的基本思想_利用龙格库塔法求解质点运动方程
  16. 去除xp桌面图标阴影
  17. Light OJ 1138
  18. 成熟的项目架构设计是什么样的?
  19. 香蕉派BPI-M2 Berry 全志V40 Mali400 MP2 GPU使用
  20. incr、incrby、decr、decrby命令的作用和用法

热门文章

  1. 抖音项目实现2: api层的实现 | 青训营笔记
  2. 7个方法,教你写出“有质感”的文案?
  3. dfa算法(dfa算法)
  4. 360急速浏览器和Google浏览器还是有差别的
  5. 一秒钟世界上会发生多少事_每一秒钟,地球上会发生什么?我们可以从6个角度进行了解...
  6. ubuntu打开终端方法
  7. Python实验舱谢尔宾斯基地毯绘制教程
  8. 工程师姓什么很重要!别再叫我 “X 工”!!!
  9. vi新建一个shell脚本_Linux Vim 编辑器编写 Shell 脚本
  10. Exposure Software Blow Up for mac(图像无损放大PS插件)