在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)。
1
2
|
>>> 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 urllib和urllib3知识点总结的文章就介绍到这了,更多相关python urllib和urllib3的内容详解内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/toutiao/23727.html