python urlparse模块的用法
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模块的用法相关推荐
- Python—urlparse模块
urlparse模块主要对url进行分析,其主要的操作是拆分和合并url各个部件.它可以将url拆分为6个部分,并返回元组,也可以把拆分后的部分再组合成一个url. 1.urlparse函数 urll ...
- Python urlparse模块介绍
1.urlparse模块 urlparse用于处理URL字符串,包括urlparse().urlunparse().和urljoin()三个主要功能. URL使用格式: prot_sch://net_ ...
- python sys模块 argv用法_python命令行的参数传递(sys.argv)
我们在命令行启动python脚本后,很多时候都会带上脚本的一些参数(比如给argparse模块的参数).这些参数都是先保存在sys.argv这个list中,然后才给其它模块或功能使用,不过也有一些特别 ...
- python os模块详细用法
os 模块提供了非常丰富的方法用来处理文件和目录 os关于目录路径的方法 # 获取当前路径 path = os.getcwd()# 获取当前绝对路径 os.path.abspath(path)# 创建 ...
- python :re模块基本用法
re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. 函数语法: re.match(pattern, string, ...
- Python requests模块高级用法
2019独角兽企业重金招聘Python工程师标准>>> 快速入门的话可以参考这篇文章,但是进阶的话还是建议参考官方的文档,毕竟官方的文档更新比较及时,也有些高级用法,猛戳这里! 会话 ...
- Python argparse模块基本用法
argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数. import argparsedef main():parser = argparse.ArgumentPars ...
- python sys模块 argv用法_python中sys模块的argv
"""笨办法学python,启动时在命令行中python 脚本文件名 filename"""from sys import argv# ar ...
- python url模块介绍_python 中 urlparse 模块介绍
urlparse模块主要是用于解析url中的参数 对url按照一定格式进行 拆分或拼接 1.urlparse.urlparse 将url分为6个部分,返回一个包含6个字符串项目的元组:协议.位置.路 ...
最新文章
- 直击2018AWE:智能语言交互大厮杀、老品牌争先搭建平台、第三方平台迅速崛起
- 创维 linux内核,Linux2.6内核在创维特jx2410平台上的移植四
- react-native 环境配置遇到的问题
- SAP CRM呼叫中心里的事件注册机制
- Windows Mobile Widget Emulator
- HTTP代理原理以及HTTP隧道技术
- 用foxmail绑定邮箱提示用户名或密码错误
- [C++]一个拥有音乐播放器所有基本功能的音乐库
- Windows桌面端录屏采集实现
- MacOS 搭建一个vue项目(完整步骤)
- python中,Microsoft Visual C++ 14.0 or greater is required问题解决方案
- 建模助手 | 学校项目为何多用BIM?广州实验中学给你答案
- 深度之眼Paper带读笔记GNN.06.GAT
- 纯JS单页面赛车游戏代码分享
- 可口可乐、诺华、葛兰素史克、思爱普、OPPO、HTC等公司高管变动
- [MSSQL]双重游标的使用以及动态游标的使用
- 低代码赛道再出黑马,云畅科技获数千万元A轮融资,由财信产业基金主投
- CAD图纸如何免费导出成Word文档?
- Modbus 通信协议详解
- Redis限流接口防刷