基于Python和Requests快速获取网页数据的方法研究.pdf
《基于Python和Requests快速获取网页数据的方法研究.pdf》由会员分享,可在线阅读,更多相关《基于Python和Requests快速获取网页数据的方法研究.pdf(5页珍藏版)》请在咨信网上搜索。
1、2023 年 8 月 25 日第 7 卷 第 16 期现代信息科技Modern Information TechnologyAug.2023 Vol.7 No.161001002023.082023.08收稿日期:2023-03-14基金项目:基于计算机设计大赛视角的计算机类专业应用型创新能力培养的研究与实践(2023JY11)基于 Python 和 Requests 快速获取网页数据的方法研究姜庆玲,张樊(武昌工学院,湖北 武汉 430065)摘 要:随着“互联网+”和大数据时代的到来,网络上充斥着各种各样的数据,过滤并获取有用的数据在当今环境下至关重要。文章提出一种基于 Python 和
2、Requests 模块的快速获取网页数据的方法,使用该方法可以获取解析前的网页源代码文本和图片数据,并保存为本地文件,为之后的数据分析和深入学习大数据技术奠定基础。实验结果表明,该方法步骤和代码编写简单易学,运行结果较好,具有一定的实用性。关键词:Python 技术;Requests 模块;网络图片爬取中图分类号:TP312.1;TP393 文献标识码:A 文章编号:2096-4706(2023)16-0100-05Research on Method of Quickly Obtaining Web Data Based on Python and RequestsJIANG Qinglin
3、g,ZHANG Fan(Wuchang Institute of Technology,Wuhan 430065,China)Abstract:With the arrival of the“Internet+”and big data era,the network is full of all kinds of data.Filtering and obtaining useful data is crucial in todays environment.This paper proposes a method to quickly acquire web data based on P
4、ython and Requests modules.Using this method,you can obtain the text and image data of the web source code before parsing,and save them as local files,laying the foundation for later data analysis and in-depth study of big data technology.The experimental results show that the steps and coding of th
5、is method are easy to learn,the running results are good,and it has certain practicability.Keywords:Python technology;Requests module;network image crawling0 引 言近年来,随着国家“互联网+”行动的提出,各行各业都开始关注互联网技术的发展,这也促进了大数据时代的到来。在大数据时代下,文字和图片信息也逐步数字化,出现在大小屏幕上,人们获取信息的方式更加快捷和多样。大量的数据逐步堆积在网络上,人们接收的信息也逐渐庞大,而其中有些信息,人们并不
6、需要。这时,一种能过滤信息的技术就会应运而生,Python 语言就可以很好地帮助人们过滤并获取有用的信息。本文将介绍基于Python 语言下获取网页数据的方法,该方法简单易实现,能够获取网页文本和图片数据。纵观近 5 年国内在 Python 技术中获取网页信息的文献,有大量的网页爬虫框架的研究,例如基于Scrapy 爬虫框架的研究有新浪微博数据爬虫研究1、房产信息爬取系统设计2、分布式获取当当网图书数据3、食品安全舆论数据爬取与分析4、研招网DOI:10.19850/ki.2096-4706.2023.16.022硕士目录爬虫的设计与实现5等。除了 Scrapy 爬虫技术的研究,还有学者对主流
7、的爬虫技术的研究,例如杨健6等学者就对基于 Python 技术的三种网络爬虫框架(Requests、Scrapy、Selenium)进行了研究,分析了这三种爬虫技术的各自优势和适用场合。根据已有的研究成果,经过各种技术的比较验证后,在确保获取信息效果正确的前提下,Requests 库代码量和步骤都较少,简单易学,适合读者验证并投入使用。综上所述,本文将使用 Requests 库实现获取网页的文本和图片数据。1 相关技术1.1 Python 语言Python 由吉多 范罗苏姆(Guido van Rossum)于 20 世纪 90 年代初设计,作为一门叫作 ABC 语言的替代品,吉多 范罗苏姆曾
8、在于 20 世纪 80 年代曾在 ABC 系统开发中工作了数年,ABC 语言定位为一种交互式的结构化高级语言,旨在替代BASIC、Pascal 等语言,用于教学及原型软件设计,它专注于编程初学者,但是存在平台迁移能力弱且难以添加新功能等问题,以至于ABC语言并未成功。Python 继承了 ABC 语言的优点,能够让编程初学现代信息科技8月下16期.indd 100现代信息科技8月下16期.indd 1002023/8/15 17:38:172023/8/15 17:38:171011012023.082023.08第 16 期者易学上手,并解决了前者的致命性问题,确保了拓展模块的编写和跨平台运
9、行。Python 基于上述优点,应用起来非常方便,迅速流行起来,也逐步推动了其自身的发展。现在的Python 语言拥有丰富的库、面向对象、免费开源、可扩展性、可嵌入性、可进行高级动态编码、适合做科学计算等诸多优点,也促使了大数据和人工智能的发展,就连国内高等教育中,Python 语言程序设计已经成为基础学科。在语法方面,区别于其他高级语言,Python 语言必须使用 4 个空格来表示每级缩进,缩进是语法的一部分。除此之外,Python 语法和其他高级语言类似,例如数据类型、表达式、语句、函数、对象等语法,仅部分写法有些差别。Python 拥有丰富的库,可拓展性极强,应用领域非常广泛,主要应用于
10、软件开发、科学计算和统计、人工智能、图像处理、数字和文本处理、数据库编程、网络编程、多媒体应用、游戏引擎、黑客编程等多个领域。1.2 Requests 模块Requests 模块是 Python 丰富的库文件中的一种,是一个基于 Apache2 协议开源的 Python HTTP库。它是爬虫技术的基础,号称是“为人类准备的HTTP 库”。在 Python 语言中,系统自带的 urllib和 urllib2 都提供了功能强大的 HTTP 支持,但是API 接口确实太难用了,这才有了 Requests 库的产生。在 Requests 模块中,请求一个网页地址,只需要一句代码。使用 Requests
11、 模块的步骤如下:1)解析网址 URL 的格式和参数;2)设置网络请求参数;3)选择合适的请求方式发送网络请求;4)根据网络请求状态码判断是否获取成功,如果成功,接收并保存数据;5)根据需要解码数据。2 步骤详解2.1 解析网址 URL在上述步骤第一步中,网址 URL 通用格式为::/:/?#:/:/?#其中:表示访问服务器获取资源所使用的协议,例如 http、https、ftp 等。表示资源宿主服务器的主机名、ip 地址或域名。表示资源宿主服务器正在监听的端口号,例如 http 默认为 80、https 默认是 443 等。表示服务器上资源的路径,由斜杠(/)与前面 URL 组件分隔开。表示
12、服务器上资源规定的参数。表示资源的查找条件,用问号(?)与URL 其余组件分隔开。表示网页锚点,用于标记一个网页中部分内容。根据上述合法的网址格式,可举例如下:http:/ 设置网络请求参数在确定好要爬取的网页 URL 后,点击页面右键的“检查”选择项后,出现如图 1 所示的界面,在该界面中,依次选择“网络”选项卡、“文档”选项卡,点击对应网址后,查看标头里面的 User Agent,这就是需要设置的网络请求参数。图 1 网页的检查界面姜庆玲,等:基于 Python 和 Requests 快速获取网页数据的方法研究现代信息科技8月下16期.indd 101现代信息科技8月下16期.indd 1
13、012023/8/15 17:38:172023/8/15 17:38:17102102第 16 期现代信息科技2023.082023.08User Agent 简称 UA,表示用户代理,是软件提供的一个标识自己身份的标识符,包含了用户正在使用的设备以及软件的一些信息,例如浏览器、版本、浏览器渲染引擎等。不同的浏览器其 User Agent 不同,因此需要在发送请求之前设置好该参数。2.3 发送网络请求网络请求主要用于资源访问、接口数据的请求、传下载文件等操作。常见的请求方式主要包括GET、POST、HEAD、PUT、DELETE、TRACE、CONNECT、OPTIONS 等,其 中 GET
14、 和 POST 请求使用最频繁。2.3.1 GET 请求方式GET 请求主要用于获取资源,对服务器上资源不会产生影响,它可以把请求的一些参数信息拼接在 URL 上,传递给服务器,由服务器端进行参数信息解析,然后返回相应的资源给请求者。需要注意的是,GET 请求拼接的 URL 数据大小和长度是有最大限制的,传输的数据量一般限制在 2 KB。2.3.2 POST 请求方式POST 请求执行提交信息、传输信息的操作,对服务器上资源会产生影响,一般用于例如注册、登录、上传文件(百度云盘)等操作。POST 请求传递的一些数据和参数不是直接拼接在 URL 后的,而是放在 Http 请求 Body 里。相对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Python Requests 快速 获取 网页 数据 方法 研究
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。