脚本专栏 
首页 > 脚本专栏 > 浏览文章

python urllib和urllib3知识点总结

(编辑:jimmy 日期: 2024/12/27 浏览:3 次 )

在python数据请求中,我们有一个标准库专门处理这方面的问题,那就是urllib库。在不同的python版本中,urllib也有着版本上的变化。本篇就urllib和urllib3这两种库为大家带来介绍,分析其基本的用法、不同点、使用注意和实例,希望能对大家在数据请求的学习有所帮助。

1、说明

在可供使用的网络库中,urllib和urllib3可能是投入产出比最高的两个。它们能让你通过网络访问文件,就像这些文件位于你的计算机中一样。只需一个简单的函数调用,就几乎可将统一资源定位符(URL)可指向的任何动作作为程序的输入。想想这种功能与模块 re 结合起来使用都能做什么吧!你可下载网页、从中提取信息并自动生成研究报告。

2、不同点

模块urllib 和 urllib3的功能差不多,但 urllib3 更好一些。对于简单的下载,urllib 绰绰有余。如果要实现 HTTP 身份验证或 Cookie,抑或编写扩展来处理自己的协议,urllib3 可能是更好的选择。

3、使用注意

要在没有联网的情况下尝试使用模块 urllib,可使用以 file: 打头的 URL 访问本地文件,如 file:c:\text\somefile.txt(别忘了对反斜杠进行转义)。

4、实例

几乎可以像打开本地文件一样打开远程文件,差别是只能使用读取模式,以及使用模块 urllib.request 中的函数 urlopen,而不是 open(或 file)。

> from urllib.request import urlopen
> webpage = urlopen('http://www.python.org')

如果连接到了网络,变量 webpage 将包含一个类似于文件的对象,这个对象与网页 https://www.python.org/ 相关联

内容扩展:

urllib

它是 Python 内置的 HTTP 请求库,也就是说我们不需要额外安装即可使用,基本上涵盖了基础的网络请求功能,它包含四个模块:

  • urllib.request 用于打开和读取url
  • urllib.error 用于处理前面request引起的异常
  • urllib.parse 用于解析url
  • urllib.robotparser 用于解析robots.txt文件

urllib.request

urllib中,request这个模块主要负责构造和发起网络请求,并在其中加入Headers、Proxy等。

利用它可以模拟浏览器的一个请求发起过程

上一篇:python 30行代码实现蚂蚁森林自动偷能量
下一篇:如何用Python编写一个电子考勤系统