- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
任务1项目创建
任务2字段定义及参数设置
任务3文本解析
任务4内容存储;任务1项目创建;Scrapy是Python的第三方应用程序框架,主要用于实现网页数据的采集和存储。本任务将实现Scrapy项目的创建,主要内容如下:
(1)创建项目;(2)创建爬虫文件。
一、Scrapy简介
Scrapy是一个基于Python开发的第三方应用程序框架,能够实现快速、高层次的屏幕抓取和Web抓取,主要用于爬取网站并从页面中提取结构性数据。还可以用于数据挖掘、监测和自动化测试等方面。且使用非常简单,需定制开发几个模块即可轻松地实现一个爬虫,能够方便地抓取网页内容。Scrapy使用Twisted异步网络框架进行网络通信的处理,且架构清晰,在加快下载速度的同时,不仅不需要自定义异步框架,还可以通过其包含的各种中间件接口,灵活地完成数据采集的各种需求。Scrapy整体架构如图5-1所示。;由图5-1可知,一个简单的Scrapy架构主要由ScrapyEngine(引擎)、Scheduler(调度器)、Downloader(下载器)、Spiders(爬虫)、ItemPipeline(管道)、DownloaderMiddlewares(下载中间件)和SpiderMiddlewares(Spider中间件)等七个部分组成。各个部分的作用如表5-1所示。;Scrapy框架将网页采集功能集成到了各个模块中,只留出自定义部分,将程序员从烦冗的流程式重复工作中解放出来。Scrapy具有如下优势:
(1)异步通信,能够灵活调节并发量。(2)使用XPath代替正则表达式,可读性强,速度快。
(3)能够同时爬取不同url包含的数据。(4)支持Shell方式,方便独立调试。
(5)采用管道方式处理数据,灵活性强,可保存为多种形式。
Scrapy在大规模爬取和高效稳定爬取等方面具有很大的优势,但在资源利用率、可用性等方面存在着不足。Scrapy的缺点如下:
(1)无法完成分布式爬取。(2)内存消耗大,且不能持久。
(3)不能获取Ajax包含的数据。(4)能够下载图片与视频,但可用性较差。
(5)异步框架出错后其他任务不会停止,并且数据出错后难以察觉。;二、Scrapy安装
Scrapy是Python的第三方框架,可以使用pip安装、wheel安装和源码安装等安装方式。在安装Scrapy之前,需要事先安装lxml、pyOpenSSL、Twisted、PyWin32等相关的依赖库。Scrapy框架???安装步骤如下所示。
第一步:安装lxml解析库。在命令窗口输入“pipinstalllxml”命令即可进行下载安装,如图5-2所示。
第二步:安装pyOpenSSL。在命令窗口输入“pipinstallpyOpenSSL”,结果如图5-3所示。
;第三步:安装Twisted。在命令窗口输入“pipinstallTwisted”进行下载安装,结果如图5-4所示。
第四步:安装PyWin32。在命令窗口输入“pipinstallPyWin32”,结果如图5-5所示。;第五步:安装Scrapy框架。在命令窗口输入“pipinstallScrapy”,结果如图5-6所示。
第六步:进入Python交互式命令行,使用import引入Scrapy对安装结果进行验证,结果如图5-7所示。
;三、Scrapy操作指令
Scrapy操作命令主要用于实现项目创建、项目运行等操作,可以分为全局命令和项目命令。其中,全局命令在整个操作系统使用;项目命令只能在Scrapy项目内部使用。常用的Scrapy操作命令如表5-2所示。;1.?shell
在Scrapy中,在未启动spider的情况下,shell命令能够启动一个shell交互窗口,尝试或调试爬取代码。在使用时,shell命令会接收一个网页地址。语法格式如下所示。
scrapyshellurl
shell命令使用后,会获取整个地址的相关信息并将其以Response对象返回,之后可通过Response对象的相关方法或属性对数据进行获取,如获取头部信息、获取标签包含内容等。Response对象的常用方法如表5-3所示。
语法格式如下所示。
response.body
response.headers
response.xpath()
response.css();2.?startproject
startproject命令是一个创建命令,主要用于实现Scrapy项目的创建,通过在命令后面加入项目的名称即可创建项目。语法格式如下所示。
scrapystartprojectProjectName
下面使用startprojec
您可能关注的文档
- 人工智能采集和分析基础(Python版)课件 学习单元二 NumPy和Pandas数据处理与分析.pptx
- 人工智能采集和分析基础(Python版)课件 学习单元六 Matplotlib可视化数据分析.pptx
- 人工智能采集和分析基础(Python版)课件 学习单元三 Requests网页访问.pptx
- 人工智能采集和分析基础(Python版)课件 学习单元四 XPath和re内容解析.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)