版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西科技学院《古希腊罗马神话》2025-2026学年期末试卷
- 上海民航职业技术学院《国际私法》2025-2026学年期末试卷
- 通化医药健康职业学院《体育概论》2025-2026学年期末试卷
- 上海工会管理职业学院《中学生物教育研究方法》2025-2026学年期末试卷
- 乌兰察布医学高等专科学校《临床基础检验学技术》2025-2026学年期末试卷
- 忻州师范学院《商务沟通》2025-2026学年期末试卷
- 上海思博职业技术学院《免疫学》2025-2026学年期末试卷
- 上海视觉艺术学院《卫生人力资源管理》2025-2026学年期末试卷
- 上海海关学院《海洋保护生物学》2025-2026学年期末试卷
- 山西铁道职业技术学院《中国传统文化》2025-2026学年期末试卷
- 蔬果采购员管理制度
- 2026年青海省海南藏族自治州单招职业适应性测试题库附参考答案详解(模拟题)
- 2025年广东省高职院校五年一贯制转段考试文化课测试(数学)
- 贵州省六盘水市英武水库工程环评报告
- 河北单招考试三类练习题及答案
- 中铁二十四局集团有限公司施工现场从业人员安全风险告知书
- 计算机软件著作权登记申请表范本
- 2021年工人日报社校园招聘笔试试题及答案解析
- 学校教学仪器设备、设施情况一览表
- 劳动人事争议仲裁员培训考试试题库及答案
- 六年级下册道德与法治第5课应对自然灾害课件
评论
0/150
提交评论