1 urllib.parse

urllib 库中包含有如下内容

Package contents

error

parse

request

response

robotparser

其中urllib.parse主要是用来解析URL(统一资源定位器)的。

urllib.parse模块定义了一个标准接口,将统一资源定位器URL字符串拆分为诸如addressing scheme、网址、路径等组件;该模块也可以将相对URL(relative URL)转换为给定的基URL(base URL)的绝对URL(absolute URL)。

urllib.parse被设计成在相对统一资源定位器(relative uniform resource locators)上与互联网RFC相匹配,它支持的URL schemes(URL协议)如下:

file、 ftp、gopher、hdl、http、 https、imap、 mailto、 mms、news、nntp、 prospero、rsync、rtsp、 rtspu、 sftp、 shttp、 sip、 sips、 snews、svn、svn+ssh、 telnet、 wais、 ws、wss。

Python中的urllib.parse模块提供的方法可以分为两种:

网址解析(URL parsing):将URL字符串拆分为其组件

网址引用(URL quoting):将URL组建组合到URL字符串中

2 网址解析(URL parsing)

2.1 urlparse

urlparse(url, scheme='', allow_fragments=True)

将URL解析成6部分,分别是

协议(scheme)

域名(netloc)

路径(path)

路径参数(params)

查询参数(query)

片段(fragment)

备注:

这 6 项也是ParseResult对象的方法ParseResult(scheme, netloc, path, params, query, fragment),A 6-tuple that contains components of a parsed URL.

这六项数据描述符(Data descriptors inherited from ParseResult:)

from urllib import parse

urlp = parse.urlparse('https://www.icourse163.org/search.htm?search=%E7%AE%97%E6%B3%95#type=10&orderBy=0&pageIndex=1')
print(urlp)
print(urlp.scheme)
print(urlp.path)

运行

ParseResult(scheme='https', netloc='www.icourse163.org', path='/search.htm', params='', query='search=%E7%AE%97%E6%B3%95', fragment='type=10&orderBy=0&pageIndex=1')
https
/search.htm

2.2 urlunparse

定义:  urlunparse(components)

参数:URL的六项元素

功能:再次将解析的URL重新组合在一起。

注意:该部分参数可以是

python学习笔记——urllib库中的parse的更多相关文章

  1. 爬虫学习笔记-urllib库

    urllib库是python中一个最基本的网络请求库.可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据. urlopen函数:在python3的urllib库中,所有和网络 ...

  2. Python学习笔记-PuLP库(3)线性规划实例

    本节以一个实际数学建模案例,讲解 PuLP 求解线性规划问题的建模与编程. 1.问题描述 某厂生产甲乙两种饮料,每百箱甲饮料需用原料6千克.工人10名,获利10万元:每百箱乙饮料需用原料5千克.工人2 ...

  3. python学习笔记013——模块中的私有属性

    1 私有属性的使用方式 在python中,没有类似private之类的关键字来声明私有方法或属性.若要声明其私有属性,语法规则为: 属性前加双下划线,属性后不加(双)下划线,如将属性name私有化,则 ...

  4. [Python学习笔记] turtle库的基本使用

    turtle库常用函数 引入turtle模块 import turtle turtle的绘图窗体 #setup()设置窗口大小及位置#setup()可省略turtle.setup(width,heig ...

  5. python学习笔记——提取网页中的信息正则表达式re

    被用来检索\替换那些符合某个模式(规则)的文本,对于文本过滤或规则匹配,最强大的就是正则表达式,是python爬虫里必不可少的神兵利器. 1 正则表达式re基本规则 [0-9] 任意一个数字,等价\d ...

  6. Python学习笔记020——数据库中的数据类型

    1 数值类型 数值类型分为有符号signed和无符号unsigned两种. 1.1 整型 int (1)bigint 极大整型(8个字节) 范围 :-2**64 ~ 2**64 - 1 -922337 ...

  7. python学习笔记(excel中处理日期格式)

    涉及到处理excel文件中日期格式数据 这里自己整理下 两种方法 代码如下: @classmethod def get_time(cls, table, nrows): testtime = [] f ...

  8. Python学习笔记——Matplot库

    https://www.cnblogs.com/laoniubile/p/5893286.html  一.基本指令 import matplotlib.pyplot as plt plt.figure ...

  9. python学习笔记 改变字符串中的某一位

    a = ' a = list(a) a[2] = ' news = ''.join(a) print news,a 注意不能使用 news = '' news.join(a) 因为news.join只 ...

随机推荐

  1. [SSH] Intro to SSH command

    Create an ssh key: ssh-keygen Copy an SSH key to a remoate server: ssh-copy-id root@104.197.227.8 // ...

  2. Mac 隐私与安全没有允许任何来源选项

    mac 允许任何来源的 app 在 macOS Sierra 10.12 及之后的版本,都没有 打开任何来源 的选项,解决方法: 终端执行命令: sudo spctl --master-disable

  3. mysql insert 主键 重复问题

    转自:http://blog.163.com/liuweiyoung@126/blog/static/173131045201222122732435/ mysql中insert into和repla ...

  4. EDA: Event-Driven Architecture事件驱动架构

    EDA: Event-Driven Architecture事件驱动架构 2009-09-24 17:28 5 赞  异步编程      软件架构      EDA事件驱动        SOA的核心 ...

  5. js获取GET参数

    自定义函数 /*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = d ...

  6. MySQL 存储过程/游标/事务

    将会用到的几个表 mysql> DESC products; +------------+--------------+------+-----+---------+-------------- ...

  7. Spring-boot 1.5.2 下隐藏Banner

    在配置文件中增加: spring.main.banner-mode=off

  8. JAVA设计模式——第 3 章 单例模式【Singleton Pattern】(转)

    这个模式是很有意思,而且比较简单,但是我还是要说因为它使用的是如此的广泛,如此的有人缘,单例就是单一.独苗的意思,那什么是独一份呢?你的思维是独一份,除此之外还有什么不能山寨的呢?我们举个比较难复制的 ...

  9. ajax 与springmvc交互返回数据

    1.controller将数据封装成json格式返回页面 @RequestMapping("/dataList") public void datalist(CsoftCunsto ...

  10. cmder切换路径、设置命令别名

    alias alias hub= cd /d d:github/ cd $ help cd 显示当前目录名或改变当前目录. CHDIR [/D] [drive:][path] CHDIR [..] C ...