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用法相关推荐

  1. python中urllib.parse啥意思_python-urllib.parse模块简述

    前言 小编最近在编写接口自动化测试用例的过程中,需要将get请求url中的部分参数替换成预设的数据,将url中的具有时效性的auth替换成auth生成方法返回值.经过一番调研,最后选取了python的 ...

  2. python补充urllib教程,Python爬虫之urllib基础用法教程

    综述 本系列文档用于对Python爬虫技术进行简单的教程讲解,巩固自己技术知识的同时,万一一不小心又正好对你有用那就更好了. Python 版本是3.7.4 urllib库介绍 它是 Python 内 ...

  3. python urllib.parse.quote_urllib.parse.quote

    urllib.parse.quote 屏蔽特殊的字符.比如如果url里面的空格!url里面是不允许出现空格的. 在 Python2.x 中的用法是: urllib.quote(text) Python ...

  4. Python爬虫核心知识-第二章:2.2 爬虫urllib.parse模块

    Python爬虫核心知识 第二章:2.2 爬虫urllib.parse模块 2.2 爬虫urllib.parse模块 Python中的urllib.parse模块中,提供了很多用来解析和重组URL的函 ...

  5. python的parse用法_Python 里边的parser用法

    2011-8-23 Python 里边的parser用法 15.5. optparse - Parser for command line options http://docs.python.org ...

  6. python爬虫学习3:urllib.parse中urlencode(),quote()

    urllib.parse 模块提供了很多解析和组建 URL 的函数,它定义了处理URL的标准接口,例如实现URL各部分的抽取.合并以及链接转换. 其中用来编码是 urlencode() 与 quote ...

  7. Python之urllib爬虫-request模块和parse模块详解

    文章目录 urllib request模块 访问URL Request类 其他类 parse模块 解析URL 转义URL robots.txt文件 urllib urllib是Python中用来处理U ...

  8. python parse函数_Python3的urllib.parse常用函数小结

    本文实例讲述了Python3的urllib.parse常用函数.分享给大家供大家参考,具体如下: 1.获取url参数 >>> from urllib import parse > ...

  9. 利用python爬虫(part2)--urllib.parse模块

    学习笔记 文章目录 URL地址编码模块 作用 常用的方法 urllib.parse.utlencode({dict}) urllib.parse.quote(string)编码 urllib.pars ...

最新文章

  1. android 中间按钮突出,Android 实现 按钮从两边移到中间动画效果
  2. unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地
  3. 大话数据结构16:图
  4. 熊猫tv新功能介绍_您应该知道的4种熊猫绘图功能
  5. python 赚钱 知乎_爬虫实战:抓取知乎问题 “大学生如何赚到一万元”
  6. ajax预加载html seo,AJAX网页如何实现SEO友好
  7. 【报告分享】人才流动与迁徙报告2021:新经济,新选择-脉脉.pdf(附下载链接)...
  8. Java AJAX开发系列 - 5,ZK参考资料
  9. Sudo环境变量继承
  10. Elastic App Search:免费的产品,可提供出色的搜索体验
  11. 单模光纤最大传输距离为多少_单模光纤的最长传输距离是多少?单模光纤和多模光纤的区别在于什么?...
  12. 游记-NOI2019(hzy的退役日志)
  13. 深圳python如何评价_如何评价shen 语言?
  14. 大神教芯片数据手册怎么读
  15. 2015060907 - 为什么有的工程师早晨醒来头发成为沟壑,角色无所谓就去上班呢?
  16. 用CE查找中文角色名
  17. 为什么一打开Adobe Creative Cloud 桌面上就会出现一个GPUCache文件夹
  18. python自动报体温_河北科技大学体温自动上报(python)-云函数版已更新
  19. Java包(package)的命名规范 规则
  20. AE After Effect 如何替换和修改素材

热门文章

  1. 量化交易 多因子打分法策略
  2. 2.19 校验码的概念
  3. 来来来!java程序员个人优势
  4. linux 中vi 显示行号的设置
  5. 四川企立方:拼多多团购要怎么申请团购点
  6. C# 之 垃圾回收机制
  7. 计算机网络与通信实验报告——HTTP协议分析
  8. 获取class的三种方式
  9. 关掉MyEclipse checking for updates(检查更新)
  10. 量子计算 19 量子算法4 (Shor Part I)