python urllib和urllib3知识点总结

(编辑:jimmy 日期: 2024/12/26 浏览:2)

在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等。

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

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。