大数据采集与应用课件 项目五-任务一-使用Scrapy框架_第1页
大数据采集与应用课件 项目五-任务一-使用Scrapy框架_第2页
大数据采集与应用课件 项目五-任务一-使用Scrapy框架_第3页
大数据采集与应用课件 项目五-任务一-使用Scrapy框架_第4页
大数据采集与应用课件 项目五-任务一-使用Scrapy框架_第5页
已阅读5页,还剩23页未读, 继续免费阅读

下载本文档

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

文档简介

《大数据采集与应用》大数据采集与应用项目五使用Scrapy框架任务一使用Scrapy框架回顾知识点1Python图形识别库的安装回顾知识点2Python识别简单图形验证码回顾任务引入1从底层编写爬虫程序不是一件简单的事情,有没有一种框架,让程序员只关注数据爬取,而不用太多关注底层细节呢?有,Scrapy就是其中一个。任务描述:本任务介绍Scrapy的概念、原理及使用。任务教学目标:熟悉Scrapy的基本概念。掌握Scrapy的架构。掌握Scrapy的编程方法。任务概要教学内容Scrapy框架概述创建Scrapy项目配置Scrapy项目一二三运行Scrapy项目四保存数据到文件五Scrapy的基本概念和原理知识点一Scrapy是一套基于Twisted的异步网络框架,是由纯Python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫程序。用户不必从底层编写网络爬虫程序,而是充分利用框架提供的类和方法,快速构建自己的爬虫程序,因此Scrapy框架具有较强的灵活性和适应性。(一)什么是ScrapyScrapy框架主要由ScrapyEngine、Downloader、Scheduler、ItemPipline、Spiders、SpiderMiddleWares以及DownloadMiddleWares构成。(二)Scrapy架构和基本组件Scrapy各个组件的作用如图:(二)Scrapy架构和基本组件Scrapy工作流程如图:(三)Scrapy的工作流程创建Scrapy项目知识点二(一)创建Scrapy项目1.创建Scrapy项目在创建Scrapy项目之前,需要安装Scrapy,安装好Scrapy后可以使用如下命令创建项目,其中new_project是需要创建的项目名称:scrapystartproject

new_project(一)创建Scrapy项目2.Scrapy创建好的目录结构Scrapy创建好之后生成如下目录结构:(一)创建Scrapy项目3.Scrapy目录结构介绍这些目录和文件的作用:1.Scrapy.cfg:项目的配置文件。2.ScrapySpider/:该项目的Python模块,之后将在此加入代码。3.ScrapySpider/items.py:项目中的Item文件。4.ScrapySpider/Pipelines.py:项目中的Pipelines文件。5.ScrapySpider/Settings.py:项目的设置文件。6.ScrapySpider/Spiders/:放置Spider代码的目录。配置Scrapy项目知识点三(一)创建SpiderSpider是数据爬取模块,用于从网络中爬取数据,它位于Spider文件夹中。因此在刚才创建的new_project文件夹的Spider文件夹里面创建Spider程序。#程序5.1importscrapyclassQuotesSpider(scrapy.Spider):name='quotes'start_urls=['/tag/humor/',]defparse(self,response):forquoteinresponse.css('div.quote'):(一)创建Spideryield{'author':quote.xpath('span/small/text()').get(),'text':quote.css('span.text::text').get(),}next_page=response.css('li.nexta::attr("href")').get()ifnext_pageisnotNone:yieldresponse.follow(next_page,self.parse)(一)创建Spider程序实际上是继承了Scrapy.Spider基类,并定义了一些属性和方法:1.name:爬虫(蜘蛛)程序标识。2.start_requests():必须返回一个ITableofrequests蜘蛛将从中开始爬取数据。后续的请求将从这些初始请求中依次生成。3.parse(response)

:用于解析为每个请求下载的响应。4.start_urls:需要爬取的url列表。5.parse方法:这个方法的参数是Response,它存放的是获取的响应,也就是爬取后的结果。需要通过解析来提取响应中所需要的数据。(二)创建ItemScrapy的主要目标是从非结构化数据源(通常是网页)中提取结构化数据。Spider可以将提取的数据作为Item返回,Item通常定义为键值对。#程序5.2importscrapyclassNewProjectItem(scrapy.Item):#definethefieldsforyouritemherelike:#name=scrapy.Field()author=scrapy.Field()text=scrapy.Field()运行Scrapy程序知识点四(一)运行Scrapy项目将程序5.1用任何编辑工具编辑并保存为scrapy_1.py。然后将其存放到spider目录下:(一)运行Scrapy项目在命令行下将目录切换到spider路径,输入如下命令:Scrapyrunspiderscrapy_1.py–oquotes.jl其中scrapyrunspider是运行Scrapy程序的命令,-oquotes.jl是输出文件。保存数据到文件知识点五(一)保存数据到文件将获取的数据保存到文件可以采用如下命令:Scrapyrunspiderscrapy_1.py–oquotes.jljl表示JSONLine,就是以Json格式保存。除了可以保存为Json格式外,还可以保存为csv、xml等格式,方法就是将上述输出文件的扩展名换成相应的即可。本任务学习了Scrapy的框

温馨提示

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

评论

0/150

提交评论