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. 直击2018AWE:智能语言交互大厮杀、老品牌争先搭建平台、第三方平台迅速崛起
  2. 创维 linux内核,Linux2.6内核在创维特jx2410平台上的移植四
  3. react-native 环境配置遇到的问题
  4. SAP CRM呼叫中心里的事件注册机制
  5. Windows Mobile Widget Emulator
  6. HTTP代理原理以及HTTP隧道技术
  7. 用foxmail绑定邮箱提示用户名或密码错误
  8. [C++]一个拥有音乐播放器所有基本功能的音乐库
  9. Windows桌面端录屏采集实现
  10. MacOS 搭建一个vue项目(完整步骤)
  11. python中,Microsoft Visual C++ 14.0 or greater is required问题解决方案
  12. 建模助手 | 学校项目为何多用BIM?广州实验中学给你答案
  13. 深度之眼Paper带读笔记GNN.06.GAT
  14. 纯JS单页面赛车游戏代码分享
  15. 可口可乐、诺华、葛兰素史克、思爱普、OPPO、HTC等公司高管变动
  16. [MSSQL]双重游标的使用以及动态游标的使用
  17. 低代码赛道再出黑马,云畅科技获数千万元A轮融资,由财信产业基金主投
  18. CAD图纸如何免费导出成Word文档?
  19. Modbus 通信协议详解
  20. Redis限流接口防刷

热门文章

  1. 虚拟机打不开,提示“此主机不支持虚拟化实际模式”的解决方法
  2. 数据清理丨如何用机构代码唯一识别企业(科普篇)
  3. 实用流量数据分析指南
  4. Idea 各种图标的含义
  5. “你家娃为什么这么爱看书?”只用3招,孩子秒变小书迷
  6. 内网穿透的原理和实现方式
  7. PAT 7 三羊献瑞(dfs)
  8. Qt 的 tcp服务端讲解
  9. 群聊泄密敲响警钟,WorkPlus织密信息安全“防护网”
  10. pdf转换html语言,如何可以把pdf转换成html格式?