一、request模块
HTTP请求模块,可以用来模拟发送请求。
urlopen() | 实现最基本请求的发起 |
Request类 | 可以设置data,headers,method等 |
Opener | Opener可以使用open()方法,返回类型和urlopen差不多, 利用Handler来构建 |
二、error模块
异常处理模块
URLError | 是error异常模块的基类,由request模块生的异常都可以通过捕获这个类来处理 |
HTTPError | 是URLError的子类,专门处理HTTP请求错误,比如认证请求失败 code,reason,headers |
三、parse
工具模块,实现URL各部分的抽取,合并以及链接转换
urlparse() | 该方法可以实现URL的识别和凤duan 返回结果是一个ParseResult 类型的对象,它包含6 个部分,分别是scheme 、netloc 、path 、params 、query 和fragment |
urlunparse() | 实现URL 的构造 |
urlsplit() | 这个方法和urlparse ()方法非常相似,只不过它不再单独解析pa rams 这一部分,只运回5 个结果。上面例子中的para ms 会合并到path 中 |
urlunsplit() | 与urlunparse()类似 |
urljoin() | 我们可以提供一个base_url(基础链接)作为第一个参数,将新的链接作为第二个参数,该方法会分析base_url 的scheme 、netloc 和path这3 个内容并对新链接缺失的部分进行补充,最后返回结果 |
urlencode() | 将事先定义的字典序列化为GET 请求参数。 |
parse_qs() | 有了序列化,必然就有反序列化。转回字典 |
parse_qsl() | 于将参数转化为元组组成的列表 |
quote() | 将内容转化为URL 编码的格式 |
unquote() | 进行URL 解码 |
------------------------------------------------------------------------------------------------------------------------------------------------------------------
了解了urllib 的基本用法,但是其中确实有不方便的地方,比如处理网页验证和Cookies 时,需要写Opener和Handler来处理。为了更加方便地实现这些操作,就有了更为强大的库requests。
基本用法
get() | 对应urllib中的urlopen(). 构建参数:params,headers |
post() | 提交的数据存储在data中 |
响应 | text,content获取响应内容,status_code,headers,cookis等 |
高级用法
文件上传 | requests.post(”http://httpbin.org/post”, files=files) |
Cookies | 获取:print(r.cookies) 设置:设置到Headers |
Session | 利用Session ,可以做到模拟同一个会话而不用担心Cookies 的问题。它通常用于模拟登录成功之后再进行下一步的操作。 |
SSL 证书验证 | 使用veri干y 参数控制是否检查此证书 |
代理设置 | 用到proxies 参数 |
超时设置 | 用到timeout 参数。这个时间的计算是发归请求到服务器返回响应的时间 |
身份认证 | |
Prepared Request |