14-3 用Python实现HTTP请求Python程序设计基础教程(微课版第2版)_第1页
14-3 用Python实现HTTP请求Python程序设计基础教程(微课版第2版)_第2页
14-3 用Python实现HTTP请求Python程序设计基础教程(微课版第2版)_第3页
14-3 用Python实现HTTP请求Python程序设计基础教程(微课版第2版)_第4页
14-3 用Python实现HTTP请求Python程序设计基础教程(微课版第2版)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

urllib、urllib3和requestsPython实现HTTP请求CHAPTER14CONTENTS目

录01urllib模块02urllib3模块03requests模块用Python实现HTTP请求读取URL网络爬虫必备又关键的功能下载网页用Python实现HTTP请求urllib模块urllib是Python自带模块,该模块提供了一个urlopen()方法,通过该方法指定URL发送HTTP请求来获取数据用Python实现HTTP请求

urllib提供了多个子模块,具体的模块名称与功能如表所示模块名称功能urllib.request该模块定义了打开URL(主要是HTTP)的方法和类,如身份验证、重定向和cookie等urllib.error该模块中主要包含异常类,基本的异常类是URLErrorurllib.parse该模块定义的功能分为两大类:URL解析和URL引用urllib.robotparser该模块用于解析robots.txt文件用Python实现HTTP请求>>>importurllib.request>>>response=urllib.request.urlopen("")>>>html=response.read()>>>print(html)【例】

下面是通过

urllib.request

模块实现发送GET请求获取网页内容的实例用Python实现HTTP请求【例】通过urllib.request模块实现发送POST请求获取网页内容的实例>>>importurllib.parse>>>importurllib.request>>>#1.指定url>>>url='/sug'>>>#2.发起POST请求之前,要处理POST请求携带的参数>>>#2.1将POST请求封装到字典>>>data={'kw':'苹果',}>>>#2.2使用parse模块中的urlencode(返回值类型是字符串类型)进行编码处理>>>data=urllib.parse.urlencode(data)>>>#将步骤2.2的编码结果转换成byte类型用Python实现HTTP请求>>>data=data.encode()>>>#3.发起POST请求:urlopen函数的data参数表示的就是经过处理之后的POST请求携带的参数>>>response=urllib.request.urlopen(url=url,data=data)>>>data=response.read()>>>print(data)b'{"errno":0,"data":[{"k":"\\u82f9\\u679c","v":"\\u540d.apple"},{"k":"\\u82f9\\u679c\\u56ed","v":"applegrove"},{"k":"\\u82f9\\u679c\\u5934","v":"applehead"},{"k":"\\u82f9\\u679c\\u5e72","v":"[\\u533b]driedapple"},{"k":"\\u82f9\\u679c\\u6728","v":"applewood"}]}'【例】通过urllib.request模块实现发送POST请求获取网页内容的实例用Python实现HTTP请求b'{"errno":0,"data":[{"k":"\苹\果","v":"\名.apple"},{"k":"\苹\果\园","v":"applegrove"},{"k":"\苹\果\头","v":"applehead"},{"k":"\苹\果\干","v":"[\医]driedapple"},{"k":"\苹\果\木","v":"applewood"}]}'【例】

把print(data)执行结果,到JSON在线格式校验网站(/)得到“

Unicode转中文

”用Python实现HTTP请求功能强大条理清晰用于HTTP客户端Python的原生系统已开始使用urllib3urllib3模块用Python实现HTTP请求urllib3协助处理重复请求客户端SSL/TLS验证连接池支持压缩编码文件分部编码上传线程安全支持HTTP和SOCKS代理100%测试覆盖率HTTP重定位用Python实现HTTP请求需要打开一个cmd窗口使用如下命令进行安装>pipinstallurllib3使用urllib3用Python实现HTTP请求>>>importurllib3>>>#需要一个PoolManager实例来生成请求,由该实例对象处理与线程池的连接以及线程安全的所有细节,不需要任何人为操作>>>http=urllib3.PoolManager()>>>response=http.request('GET','')>>>print(response.status)>>>print(response.data)【例】下面是通过GET请求获取网页内容的实例用Python实现HTTP请求>>>importurllib3>>>http=urllib3.PoolManager()>>>response=http.request('POST', '/sug' ,fields={'kw':'苹果',})>>>print(response.data)使用字典对象的get()方法获取指定键的值实例用Python实现HTTP请求requests模块requests库是一个非常好用的HTTP请求库网络请求网络爬虫用Python实现HTTP请求需要打开一个cmd窗口使用如下命令进行安装>pipinstallrequestsrequests模块用Python实现HTTP请求>>>importrequests>>>response=requests.get('')#对需要爬取的网页发送请求>>>print('状态码:',response.status_code)#打印状态码>>>print('url:',response.url)#打印请求url>>>print('header:',response.headers)#打印头部信息>>>print('cookie:',response.cookies)#打印cookie信息>>>print('text:',response.text)#以文本形式打印网页源码>>>print('content:',response.content)#以字节流形式打印网页源码【例】以GET请求方式为例,打印多种请求信息的代码如下用Python实现HTTP请求>>>importrequests>>>#导入模块>>>importrequests>>>#表单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论