Python的urllib模块提供了一个高级的Web通信库,支持基本的协议,如HTTP、FTP和Gopher,同时也支持对本地文件的访问。在Python3中,urllib、urlparse、urllib2等都整合进一个名为urllib的单一包中。urllib、urllib2的内容整合进了urllib.request模块中,urlparse整合进了urllib.parse模块中。Python3中的urllib包还包括response、error、robotparse这些子模块。下面就来看看Python3中核心模块urllib的用法大全吧。

urllib.parse

一般来说,一个URL的地址是可以分为六部分的。urllib.parse模块就是对Web网址进行解析,分解或合并成URL。主要的方法有urlparse、urlunparse、urljoin。示例代码如下:#!/usr/local/env python

# coding:utf-8

import urllib.parse

__author__ = "风轻清淡"

url = "https://www.noniu.com/module;path?id=12#22"

ret = urllib.parse.urlparse(url)

# 结果为:ParseResult(scheme='http', netloc='www.noniu.com', path='/module', params='path', query='id=12', fragment='22')

# 可以通过索引访问所有的结果,分别代表:网络协议、服务器地址、CGI应用路径、可选参数、查询的键值对、文档内定锚

print(ret)

url_str = ("http", "www.noniu.com", "/jiaocheng/228.html", "", "", "")

url_ret = urllib.parse.urlunparse(url_str)

# 结果为:https://www.noniu.com/jiaocheng/228.html

# urlunpars与urlparse相当于相反的操作

print(url_ret)

url_join = urllib.parse.urljoin("https://www.noniu.com/about/", "/jiaocheng/228.html")

# 结果为:https://www.noniu.com/jiaocheng/228.html

# urljoin方法将URL的根域名与新的路径拼合为一个完整的URL

print(url_join)

urllib.request

urllib.request模块中有urlopen、urlretrieve、quote等方法,具体的参数和功能见下表:urllib.request中的方法描述

urlopen(urlstr, postQueryData=https://www.noniu.com/jiaocheng/None)打开URL urlstr,如果是POST请求,则通过postQueryData发送请求的数据

urlretrieve(urlstr, localfile=None, downloadStatusHook=None)将URL urlstr中的文件下载到localfile或临时文件夹中(localfile没指定);如果函数正在执行,downloadStatusHook将获得下载的统计信息。

quote(urldata, safe="/")对urldata在URL中无法使用的字符进行编码,safe中的字符不做处理。

quote_plus(urldata, safe="/")除了将空格编码为+号(而非%20)之外,其他功能和quote没有区别

unquote(urldata)将urldata中编码过的字符解码

unquote_plus(urldata)除了将+号解码为空格之外,其他功能和unquote没有区别

urlencode(dict)将dict的键值对通过quote_plus编码为有效的CGI查询字符串

以下是urllib.request模块中具体方法的示例代码:#!/usr/local/env python

# coding:utf-8

import urllib.request

__author__ = "风轻清淡"

url = "https://www.noniu.com/index.php"

ret = urllib.request.urlopen(url)

# 结果为:b' '

# 连接成功后,urlopen返回一个文件类型对象,可以使用read、readline等文件操作方法进行读取,数据为字节类型。

print(ret.readline())

# 结果为:https://www.noniu.com/index.php

# geturl方法是考虑所有重定向后,获取真实的URL

print(ret.geturl())

pythonurllib模块-Python3中核心模块urllib的用法大全相关推荐

  1. node中模块系统及核心模块、执行node文件

    node中模块系统: 1.模块系统:核心模块.第三方模块. 自己写的模块. 2.网页中所有的路径都是URL,而不是文件路径. 3.node偏底层开发,开启的服务器完全是一个黑盒子,所有的资源默认都是不 ...

  2. python3中argparse模块详解

    文章目录 python3中argparse模块详解 一. 命令行参数分为位置参数和选项参数: 二. 使用步骤: 三. add_argument()方法参数: 1. name or flags: 2. ...

  3. Python3中typing模块介绍

    typing.py的源码在:https://github.com/python/cpython/blob/main/Lib/typing.py.此模块为类型提示(Type Hints)提供运行时支持( ...

  4. Angular项目中核心模块core Module只加载一次的实现

    核心模块CoreModule在整个系统中只加载一次,如何实现? 创建core Modele:ng g m core 既然CoreModule是类,就有构造函数,在构造函数中进行依赖注入. export ...

  5. javascript模块_JavaScript中的模块

    javascript模块 JavaScript模块 (JavaScript Modules) One of the key features of programming fundamentals i ...

  6. python中的模块_Python中的模块 | 萧小寒

    摘要 在编程语言中,Python被广大程序员誉为是一门"简单.优美.功能强大"的动态语言.在接触到Python这门语言时,多数人会被其简洁的语法.优美的格式和丰富的模块所震撼. 虽 ...

  7. 简述python中怎样导入模块_Python中导入模块的两种模式,import

    import import pandas import pandas as pd 使用函数方式:.(),或者.() 比如 pandas.read_csv("data/stock.csv&qu ...

  8. python中自带的模块_python中的模块详解

    概念 python中的模块是什么?简而言之,在python中,一个文件(以".py"为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件.模块可以被项 ...

  9. python中mysqldb模块_python中MySQLdb模块用法实例

    本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接 ...

最新文章

  1. Linux部署Ant Design Pro项目及nginx部署
  2. 关于windows10用c++部署libtorch过程中遇到的一些问题
  3. pta函数统计素数并求和_关于求和的4种函数公式,此文讲透了,尤其是第4种,绝对的高效...
  4. 摩尔投票法(力扣- -229. 求众数 II)
  5. ionic4集成高德地图
  6. 操作系统:166个Linux实用命令,太全了!
  7. 允许服务与桌面交互_vivo 正式推出 Origin OS,融合自然设计与全新交互_搜狐汽车...
  8. 【ACM算法讲堂之 - 计算几何基础】:【点积和叉积】(附一些模板)
  9. python花萼长度表_python描述性统计实践
  10. zookeeper基本操作
  11. Logistic分类函数
  12. c++连接mysql的中文编码问题
  13. 基于MATLAB的夜间车牌识别处理
  14. HDU2028 Lowest Common Multiple Plus【入门】
  15. 防火墙限制TCP流量新方法
  16. 盖洛普优势识别器2.0-《现在.发现你的优势》升级版
  17. 小学期云效能训练营-Day04
  18. 如何将原来Eclipse的一个工作空间设置好的界面复制到另外一个Eclipse里面
  19. 有趣的黑掉卫星Hack-A-Sat CTF比赛——模拟卫星视角beckley
  20. 关系运算符lt, gt全拼

热门文章

  1. Entity Framework 数据部分更新之Attach Detach
  2. “妖魔化”的SaaS
  3. 第一方Cookie和第三方Cookie
  4. 阿里P7工作总结:Spring MVC的工作原理,看完受益匪浅
  5. MySQL_项目7: 各部门工资最高的员工(难度:中等)
  6. BugBash活动分享
  7. 性能测试第三章-性能测试核心原理
  8. android 布局中 layout_gravity、gravity、orientation、layout_weight
  9. Android运行出现“java.io.IOException: 您的主机中的软件放弃了一个已建立的连接。”...
  10. 9.9学python靠谱吗-走进小学教材,Python何德何能?9图对比道出真相