python的urllib.parse用法
urllib.parse解析
url:urllib.parse.urlparse(url, scheme='', allow_fragments=True)
简单的使用:
urlparse
from urllib import request, parse2 #解析urlprint(parse.urlparse('https://movie.douban.com/'))
print(parse.urlparse('https://movie.douban.com/', scheme='http'))
print(parse.urlparse('movie.douban.com/', scheme='http'))
# 下面是结果
ParseResult(scheme='https', netloc='movie.douban.com', path='/', params='', query='', fragment='')
ParseResult(scheme='https', netloc='movie.douban.com', path='/', params='', query='', fragment='')
ParseResult(scheme='http', netloc='', path='movie.douban.com/', params='', query='', fragment='')
可以看出加了scheme参数和没加的返回结果是有区别的。而当scheme协议加了,而前面的url也包含协议,一般会忽略后面的scheme参数
既然有解析url,那当然也有反解析url,就是把元素串连成一个url
from urllib import parse
# 将列表元素拼接成url
url = ['http', 'www', 'baidu', 'com', 'dfdf', 'eddffa'] # 这里至少需要6个元素
print(parse.urlunparse(url))
# 下面是结果6http://www/baidu;com?dfdf#eddffa
urlunparse()接收一个列表的参数,而且列表的长度是有要求的,是必须六个参数以上,要不会抛出异常
urllib.parse.urljoin():这个是将第二个参数的url缺少的部分用第一个参数的url补齐
# 连接两个参数的url, 将第二个参数中缺的部分用第一个参数的补齐,如果第二个有完整的路径,则以第二个为主
print(parse.urljoin('https://movie.douban.com/', 'index'))
print(parse.urljoin('https://movie.douban.com/', 'https://accounts.douban.com/login'))
# 下面是结果
https://movie.douban.com/index6 https://accounts.douban.com/login
urlencode
urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串,比如:
>>> from urllib import urlencode
>>> data = {
... 'a': 'test',
... 'name': '魔兽'
... }
>>> print urlencode(data)
a=test&name=%C4%A7%CA%DE
如果只想对一个字符串进行urlencode转换,怎么办?urllib提供另外一个函数:quote()>>> from urllib import quote
>>> quote('魔兽')
'%C4%A7%CA%DE'
urldecode
当urlencode之后的字符串传递过来之后,接受完毕就要解码了——urldecode。urllib提供了unquote()这个函数,可没有urldecode()!
>>> from urllib import unquote
>>> unquote('%C4%A7%CA%DE')
'\xc4\xa7\xca\xde'
>>> print unquote('%C4%A7%CA%DE')
魔兽
python的urllib.parse用法相关推荐
- python中urllib.parse啥意思_python-urllib.parse模块简述
前言 小编最近在编写接口自动化测试用例的过程中,需要将get请求url中的部分参数替换成预设的数据,将url中的具有时效性的auth替换成auth生成方法返回值.经过一番调研,最后选取了python的 ...
- python补充urllib教程,Python爬虫之urllib基础用法教程
综述 本系列文档用于对Python爬虫技术进行简单的教程讲解,巩固自己技术知识的同时,万一一不小心又正好对你有用那就更好了. Python 版本是3.7.4 urllib库介绍 它是 Python 内 ...
- python urllib.parse.quote_urllib.parse.quote
urllib.parse.quote 屏蔽特殊的字符.比如如果url里面的空格!url里面是不允许出现空格的. 在 Python2.x 中的用法是: urllib.quote(text) Python ...
- Python爬虫核心知识-第二章:2.2 爬虫urllib.parse模块
Python爬虫核心知识 第二章:2.2 爬虫urllib.parse模块 2.2 爬虫urllib.parse模块 Python中的urllib.parse模块中,提供了很多用来解析和重组URL的函 ...
- python的parse用法_Python 里边的parser用法
2011-8-23 Python 里边的parser用法 15.5. optparse - Parser for command line options http://docs.python.org ...
- python爬虫学习3:urllib.parse中urlencode(),quote()
urllib.parse 模块提供了很多解析和组建 URL 的函数,它定义了处理URL的标准接口,例如实现URL各部分的抽取.合并以及链接转换. 其中用来编码是 urlencode() 与 quote ...
- Python之urllib爬虫-request模块和parse模块详解
文章目录 urllib request模块 访问URL Request类 其他类 parse模块 解析URL 转义URL robots.txt文件 urllib urllib是Python中用来处理U ...
- python parse函数_Python3的urllib.parse常用函数小结
本文实例讲述了Python3的urllib.parse常用函数.分享给大家供大家参考,具体如下: 1.获取url参数 >>> from urllib import parse > ...
- 利用python爬虫(part2)--urllib.parse模块
学习笔记 文章目录 URL地址编码模块 作用 常用的方法 urllib.parse.utlencode({dict}) urllib.parse.quote(string)编码 urllib.pars ...
最新文章
- android 中间按钮突出,Android 实现 按钮从两边移到中间动画效果
- unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地
- 大话数据结构16:图
- 熊猫tv新功能介绍_您应该知道的4种熊猫绘图功能
- python 赚钱 知乎_爬虫实战:抓取知乎问题 “大学生如何赚到一万元”
- ajax预加载html seo,AJAX网页如何实现SEO友好
- 【报告分享】人才流动与迁徙报告2021:新经济,新选择-脉脉.pdf(附下载链接)...
- Java AJAX开发系列 - 5,ZK参考资料
- Sudo环境变量继承
- Elastic App Search:免费的产品,可提供出色的搜索体验
- 单模光纤最大传输距离为多少_单模光纤的最长传输距离是多少?单模光纤和多模光纤的区别在于什么?...
- 游记-NOI2019(hzy的退役日志)
- 深圳python如何评价_如何评价shen 语言?
- 大神教芯片数据手册怎么读
- 2015060907 - 为什么有的工程师早晨醒来头发成为沟壑,角色无所谓就去上班呢?
- 用CE查找中文角色名
- 为什么一打开Adobe Creative Cloud 桌面上就会出现一个GPUCache文件夹
- python自动报体温_河北科技大学体温自动上报(python)-云函数版已更新
- Java包(package)的命名规范 规则
- AE After Effect 如何替换和修改素材