该篇文章, 主要介绍了几个urllib中常用的类函数。
1.urllib——处理URL
urllib
是一个收集了多个用到 URL 的模块的包, 是python标准库的一员
urllib.request
打开和读取 URLurllib.error
包含urllib.request
抛出的异常urllib.parse
用于解析 URLurllib.robotparser
用于解析robots.txt
文件
1.1. urllib.request 模块——打开读取URL
urllib.request
模块定义了适用于在各种复杂情况下打开 URL(主要为 HTTP)的函数和类 — 例如基本认证、摘要认证、重定向、cookies 及其它。
1.1.1函数
-
urllib.request.urlopen(url,...)
, 打开url指定的资源, url可以是字符串也可以是urllib.request.Request对象, 返回一个http.client.response对象 -
urllib.request.``build_opener([handler, ...])
返回一个OpenerDirector实体
1.1.2.类
-
class urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
这个类是一个对URL 请求的抽象
- 其中url参数, 是字符串类型, 是对应资源的url。
- header参数, 是一个字典类型的请求消息头。
-
class
urllib.request.OpenerDirector
该类通过连接在一起的
BaseHandlers
打开url。它管理handlers链和从错误中恢复。OpenerDirector实例的
open(url, data=None[, timeout])
方法, 打开一个url。它的返回值和引起的异常和urllib.request.urlopen()一样。 -
class
urllib.request.ProxyHandler
(proxies=None)通过代理发出请求, 如果proxies参数被给与, 它必须是一个字典(从协议到IP映射的字典)
1.2. urllib.parse ——解析URL
-
urllib.parse.urlencode(query,...)
将
mapping object
或包含str或bytes对象的二元组的序列转换为百分比编码的ASCII文本字符串。