- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
任务1Requests数据采集
任务2BeautifulSoup文本解析;任务1Requests数据采集;本次任务基于Requests库实现豆瓣电影排行信息的爬取,其中包含与HTTP请求相关的内容、Requests的安装和使用、爬虫的实现、Requests实现爬虫、爬取信息JSON化等内容。本次任务的主要内容如下:
(1)安装Requests,成功调用Requests库。
(2)分析豆瓣电影信息网站。
(3)编写代码,爬取信息。
(4)将爬取的信息JSON化,并输出。
;一、网络请求
网络请求是客户端和服务器端进行数据交换的一种手段。通过网络请求,客户端可以从服务器端获取需要的数据,也可以在收到请求后返回数据。网络请求过程如图3-1所示。
客户端要获取某些信息,会通过网络向服务器端发送一个请求,服务器端会对请求进行拆解,并通过自己的存储空间或者数据库搜索数据,然后将数据返回到客户端。;1.?HTTP请求
HTTP请求是指从客户端到服务器端的请求消息,包括消息首行中、对资源的请求方法、资源的标识符及使用的协议。只有通过HTTP才能实现网络请求。HTTP还规定了请求的数据格式、请求的头部、采用的协议等内容。HTTP请求都是通过URL发起的。URL的形式如图3-2所示。;每访问一次,URL就进行一次网络请求,每进行一次网络请求,服务器端对应会收到一个网络响应。例如,访问百度网的地址/,打开浏览器,在地址栏输入地址,按鼠标右键选择“检查”,对地址按下回车键,浏览器开发者工具的“Network”栏中会产生一个网络请求,如图3-3所示。;每一个网络请求都有Name、Status、Type、Initiator、Size、Time、Waterfall等属性。属性说明如表3-1所示。;2.请求和响应
请求是指从客户端到服务器端的请求消息。一个完整的HTTP请求可以分为三个部分:请求行、请求头、请求体。请求结构如图3-4所示。;请求行中包含请求的方法、请求的URL、协议版本及换行符号(CRLF);请求头中包含多组键值对的数据和换行符号;请求体当中包含请求的主体。
响应是指服务端对客户端请求的回应。一个完整的响应同样包含三个部分,分别是状态码、响应头和响应体。
响应头中包含服务器的应答信息,即Content-Type、Data、Expires等内容。??个响应最重要的内容就是响应体,响应的正文数据、文件、图片等信息都称为响应体。例如,请求一个地址时,通过浏览器中的“Preview”就可以查看响应体的内容。访问百度网的响应信息如图3-5所示。;二、爬虫基础
爬虫是获取网页并提取和保存信息的自动化程序。如果将互联网比作一张蜘蛛网,爬虫就是在网上爬行的蜘蛛,网上的每一个节点都可以当作一个网页,蜘蛛爬到每一个节点就相当于访问了网页,而每一个节点又连着许多节点,这些节点就可以当作网页内的链接,因此爬虫可以访问所有的节点。爬虫的架构如图3-6所示。;爬虫调度器开启后,爬虫会指定一个链接(URL),爬虫使用这个链接请求对应的资源,对页面进行下载,下载后对网页进行解析,网页中包含的URL会继续解析,直到解析完所有的URL就完成了一次爬取。整个爬取过程可以分为三个步骤,分别是爬取数据、提取信息以及保存数据。
(1)每个爬虫程序都有若干个请求和响应,响应的内容是网页的源代码。
(2)获取到网页的源代码后,需要提取源代码中有价值的信息。
(3)最后一步就是将提取到的数据保存下来,以便于进行数据分析和处理。;三、Requests简介及安装
Requests是唯一一个非转基因的PythonHTTP库。在Requests之前,PythonHTTP库就出现过urllib库,但是由于urllib存在安全缺陷以及代码冗余等,现在已经很少使用。Requests库建立在urllib之上,它解决了urllib存在的问题,而且允许用户发送原始的HTTP1.1版本的请求。Requests的图标如图3-7所示。;Requests的安装简单,可使用pip命令安装。代码如下所示。
安装完成后,使用import引入Requests库,调用Requests的get()方法向发送请求,代码如下所示。
结果如图3-8所示。;四、Requests的基础使用
Requests爬虫是利用Requests技术实现爬取网页内容的一种功能,但是在实现Requests爬虫之前需要了解更多的Requests技术,否则会在实现Requests爬虫的过程中遇到诸多问题。
Requests可以使用get()方法和post()方法发送请求,除发起请求的方式不同外,get()和post()的参数和使用方法都相同。
下面以get()方法为例,介绍如何使用Requests向URL发起请求。reques
您可能关注的文档
- 人工智能采集和分析基础(Python版)课件 学习单元二 NumPy和Pandas数据处理与分析.pptx
- 人工智能采集和分析基础(Python版)课件 学习单元六 Matplotlib可视化数据分析.pptx
- 人工智能采集和分析基础(Python版)课件 学习单元四 XPath和re内容解析.pptx
- 人工智能采集和分析基础(Python版)课件 学习单元五 Scrapy网页数据采集.pptx
- 人工智能采集和分析基础(Python版)课件 学习单元一 Python数据操作.pptx
- 人工智能采集和分析基础(Python版)课件全套 盛鸿宇 学习单元1--6 Python数据操作 ---Matplotlib可视化数据分析.pptx
- Unity进阶与实践解析 表2.6 Transform组件的成员变量.docx
- Unity进阶与实践解析 2.8 Time成员变量.docx
- Unity进阶与实践解析 2.9 Random类提供的常用成员变量.docx
- Unity进阶与实践解析 2.11 Mathf类常用方法.docx
- 某某单位2024年党建工作总结及2025年工作计划.doc
- 某某市发改委关于2024年度落实党风廉政建设工作责任制情况的报告.doc
- 某某局2024年全面从严治党和党风廉政建设工作总结.doc
- 某某区财政局2024年法治政府建设总结及2025年工作谋划.doc
- 2024年党管武装工作述职报告2篇.doc
- 2024年度国企党委书记抓基层党建工作述职报告3篇.doc
- 公司党委书记2024年述职述廉报告.docx
- 2024年度乡镇党委领导班子民主生活会(四个带头)对照检查材料.doc
- 市医疗保障局关于2024年法治政府建设工作情况的报告.docx
- 市民政局党组2024年巡察整改工作情况报告.docx
文档评论(0)