Python3---标准库---urllib
前言
该文章主要说明python3 标准库urllib的使用。
修改时间:20191216
修改时间:20191217
天象独行
0x01;urllib作用是什么?
urllib是python3的一个内置标准库,主要用来进行http请求。其中主要包含四个常见模块。分别是:request,error,parse,robotparser。request模块功能提供一个基本的请求功能,来模拟http请求。error异常处理模块,主要功能是在出现错误的时候可以捕获异常。parse工具模块,提供了url处理的方法,比如:拆分,解析,合并等。robotparser模块主要用来识别网站的robots.txt文件。
0x02;urllib.request模块
urllib.request模块当中常见使用方法有:
a;urlopen(url,data,timeout) 作用打开一个url方法,返回一个文件对象httpresponse,然后可以进行类似文件对象的操作。
例如:基本使用方法。
b;urllib.request.urlretrieve(url,filename=none,reporthook=none,data=none)作用下载定制的url内容到本地。
url:外部或者本地url。
filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据)。
reporthook:是一个回调函数,当连接上服务器,以及相应的数据块传输完毕的时候会触发该回调
data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename,headers),filename表示保存到本地的路径,header表示服务器的响应头。
基本使用:
0x03;urllib.error模块
urllib.error模块作用是可以接收urllib.request产生的异常。其中包含了两个方法。即urlerror,httperror。
a;urlerror举例
b;httperror举例:
0x04;urllib.parse模块
a;urlparse()方法作用:将url分解为六个组件分别是:协议,位置,路径,参数,查询,片段
举例:
b;urlsplit方法类似于urlparse,区别在于urlsplit没有返回“params”
c;urlunparse(parts)方法作用,从urlparse()返回的元组元素构造一个url。
举例:
d;urlunsplit方法与urlunparse类似。
e;parse_qs和parse_qsl
urllib.parse.parse_qs返回字典
urllib.parse.parse_qsl返回列表
举例:
f;urljoin(base,url,allow_fragments=true)作用组合两个url.。注释:url一定需要完整的url。
举例:
g;quout()方法,作用url编码
h;unquote()方法作用url解码
举例:
0x0x;补充说明:
a;httprequest类是一个封闭http提交信息的类型,而封闭http输出信息的类型就是httpresponse类,使用httpresponse类可以实现三种类型的输出,即文本,url,二进制流.httpresposne 类型的对象,它主要包含的方法有 read()、readinto(),getheader(name)、getheaders()、fileno() 等方法和 msg、version、status、reason、debuglevel、closed 等属性。详情参考下面链接:
b;try...except 在程序出现异常处理是使用。格式 try: 执行代码 except:发生异常时执行的代码。详情参考下面链接:
c;__main__是python的内置变量,用于代指当前模块。详细参考下面链接:
d;字典是另一种可变容器模型,且可存储任意类型的对象。
e;列表是最常见的python数据类型,它可以作为一个方括号内的逗号分隔值出现。
推荐阅读
-
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例_PHP
-
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
-
Python标准库urllib2的一些使用细节总结
-
云计算建立首个数据库标准 CMDBf使云可预测
-
16.C++-初探标准库
-
IBM Database Patterns 指南,第 3 部分: 数据库工作负载标准
-
PHP SPL标准库之接口(Interface)详解_php实例
-
PHP SPL标准库之SplFixedArray使用实例,splsplfixedarray
-
PHP SPL标准库之数据结构栈(SplStack)介绍
-
JSP开发之JSP 标准标签库(JSTL)之JSTL函数split()函数&startsWith()函数的使用