版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目二
动态网页数据采集目录Content1使用Requests库完成“浪潮云说”网页数据采集2使用Urllib模块完成“新闻动态”网页数据采集项目导言零
在实际的开发中,所需数据是各种各样的,虽然在网络上有许多开源的数据集,但开源的数据集不一定符合我们的项目需求,因此项目需要的数据集需要主动获取。数据采集是数据分析必不可少的一环,这个时候学会数据采集的方法就显得尤为重要,本项目将使用Python相关http请求库完成网页数据的采集。学习目标零知识目标了解Urllib和Requests库相关概念熟悉Urllib和Requests库的方法掌握Urllib库中request模块使用精通动态网页数据采集的方法技能目标具备Urllib库相关模块的使用能力具备安装Requests库的能力具备使用Requests库完成网页数据采集的能力具备精通网页数据采集的能力素养目标具备善于发现和总结问题能力具备较强的学习能力和适应能力具备较强的沟通表达能力任务1:使用Urllib模块完成“新闻动态”网页数据采集壹request模块任务技能urlopen()、Request()、urlretrieve()error模块URLError、HTTPErrorparse模块urlparse()、urljoin()、quote()、unquote()任务1:使用Urllib模块完成“新闻动态”网页数据采集壹1request模块在Urllib库中,request是一个用于实现http请求模拟的模块,能够完成页面抓取、Cookie设置等工作。目前,request模块包含多个http请求方法。方法描述urlopen()页面获取Request()设置请求的相关参数urlretrieve()文件下载任务1:使用Urllib模块完成“新闻动态”网页数据采集壹(1)urlopen()urlopen()是request模块中不可或缺的一种方法,主要用于实现页面获取,通过指定url地址即可向页面发送请求,并以HTTPResponse类型的对象作为响应将页面内容返回。0102urlopen()方法包含参数参数描述url指定目标网站的URLdata指定表单数据,该参数默认为None,此时urllib使用get方法发送请求,当给参数赋值后,urllib使用post发送请求,并在该参数中携带表单信息timeout用来指定请求的等待时间,若超过指定时间还没获得响应,则抛出一个异常任务1:使用Urllib模块完成“新闻动态”网页数据采集壹
HTTPResponse对象方法方法描述read()获取数据readline()按行获取数据readlines()获取数据,并以行列表形式返回getcode()获取状态码geturl()获取url路径decode()数据解码getheaders()获取http请求头信息,当接收属性后,会返回头部信息中属性对应的值任务1:使用Urllib模块完成“新闻动态”网页数据采集壹(2)Request()在使用urlopen()方法对页面进行访问时,并不能对请求方式、请求头信息等请求参数进行设置,这时为了提高urlopen()方法的全面性,request模块提供了一个Request()方法,能够通过请求参数创建Request对象,并将该对象作为urlopen()方法的参数完成页面请求。参数描述url指定目标网站的URLdata访问页面时携带的数据headers请求头origin_req_host请求方的host名称或者IP地址unverifiable请求方的请求无法验证method请求方式设置Request()方法包含参数任务1:使用Urllib模块完成“新闻动态”网页数据采集壹headers参数包含属性属性描述User-Agent操作系统和浏览器的名称和版本accept浏览器端可以接受的媒体类型Accept-Encoding编码方法Accept-Language支持语言method参数包含属性GET获取POST提交HEAD获取头部信息PUT提交信息,原信息被覆盖DELETE提交删除请求任务1:使用Urllib模块完成“新闻动态”网页数据采集壹(3)urlretrieve()通过urlopen()方法,只能获取页面中的文本信息,当面对图片文件、音视频文件、文本文件等内容时,request模块提供了一个urlretrieve()方法,能够实现文件的下载操作。urlretrieve()方法包含参数参数描述url文件路径filename文件名称reporthook文件访问的超时时间,单位为秒data文件访问时携带的数据任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰常用状态码状态码描述200请求成功301请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL400请求有语法错误,不能被服务器所理解401请求未经授权403服务器收到请求,但是拒绝提供服务404请求资源不存在500服务器发生不可预期的错误503服务器当前不能处理客户端的请求,一段时间后可能恢复正常任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(2)post()post()方法包含参数参数描述url页面的URL链接data字典、字节序列或文件对象,作为Request的内容jsonJSON格式的数据,作为Request的内容**kwargs控制访问的参数任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(3)head()语法格式:importrequestsrequests.head(url,**kwargs)任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(4)put()语法格式:importrequestsrequests.put(url,data=None,**kwargs)任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(5)patch()语法格式:importrequestsrequests.patch(url,data=None,**kwargs)任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(6)delete()语法格式:importrequestsrequests.delete(url,**kwargs)任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰method包含参数值参数值描述GET获取HTML网页POST获取HTML网页头信息HEAD向HTML网页提交post请求PUT向HTML网页提交PUT请求PATCH向HTML网页提交局部修改请求DELETE向HTML页面提交删除请求任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰3Requests高级使用会话对象文件上传异常处理代理设置超时设置证书认证任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(1)会话对象会话对象能够跨请求保持某些参数,也会在同一个Session实例发出的所有请求之间保持cookie,除此之外它还可以用来提升网络性能。语法格式:importrequestssession=requests.Session()session.get()任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(2)文件上传
在使用post()方法提交数据时,不仅可以提交文本数据,还可以通过files参数的设置提交文件数据,实现文件的上传操作。语法格式:importrequests#获取文件files={'file':open('文件地址','打开方式')}#文件上传requests.post(url,files=files)任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(3)超时设置
在Requests中,可通过timeout参数设置超时时间,单位为秒。语法格式:importrequestsrequests.get(url,timeout=0.1)任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(4)异常处理
在使用Requests库发送HTTP请求时,会出现访问失败而抛出异常的情况,这时为了能够快速的确定是哪种错误,可通过不同的方法进行判断。语法格式:importrequeststry:response=requests.get(url,timeout=0.5)exceptexceptions.Timeout:#异常处理代码块任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰异常处理方法方法描述ConnectionError网络连接错误异常HTTPErrorHTTP错误异常URLRequiredURL缺失异常TooManyRedirects超过最大重定向次数,产生重定向异常ConnectTimeout连接远程服务器超时异常Timeout请求URL超时异常任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(5)证书认证
Requests为了解决证书自动验证功能问题,可通过添加verify参数并设置参数值将该功能关闭。语法格式:importrequestsrequests.get(url,,verify=False)任务2-2:使用Requests库完成“浪潮云说”网页数据采集贰(6)代理设置
在进行数据采集时,由于网站内容的增多,大规模爬取网页数据时,频繁的网页请求会出现登录认证、验证码验证,甚至禁止当前IP访问页面等情况,时可以通过proxies参数设置代理解决。语法格式:importrequests#IP列表proxies={"http":"0:3128","https":"1:3129",}#通过代理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆西南大学附中高2026届高考全真模拟试题数学+答案
- 2025年中东电商市场广告投放禁忌
- 译林版英语五年级下册Unit 5 Helping our parents第二课时
- 山西2026年二级建造师《水利水电工程实务》考前押题卷
- 译林版英语三年级下册Project1课时作业单2
- 2026年特种设备劳保用品配备规范
- 输血安全管理制度
- 2026年水库工程施工方案及防渗要求
- 2026年物流仓储人员库存盘点精准化培训方案
- 山西2026年一级建造师《矿业工程》章节练习题
- 从偏差行为到卓越一生3.0版
- 健康指南长期尿潴留的管理与康复方案
- 黄栀子深加工-天然色素及活性成分提取分离项目变更环评报告
- 抽水蓄能电站下水库工程砌体工程施工方案
- 中国古代餐具
- 常州市网约车区域考试复习题库(备考用)
- 第四章蛋白质的稳定性-课件
- 网架安装危险源辨识清单资料
- 求职个人简历表空白表格
- 大学书法PPT完整全套教学课件
- 内生增长理论高级宏观
评论
0/150
提交评论