在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等。
利用它可以模拟浏览器的一个请求发起过程
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com