《数据采集技术》课件-Scrapy核心操作:命令与解析_第1页
《数据采集技术》课件-Scrapy核心操作:命令与解析_第2页
《数据采集技术》课件-Scrapy核心操作:命令与解析_第3页
《数据采集技术》课件-Scrapy核心操作:命令与解析_第4页
《数据采集技术》课件-Scrapy核心操作:命令与解析_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

项目四

基于框架实现动态网页数据采集与存储Scrapy核心操作:命令与解析弎1Scrapy操作指令全局命令命令描述-h查看可用命令的列表fetch使用Scrapydownloader提取的URLrunspider未创建项目的情况下,运行一个编写好的spider模块settings规定项目的设定值shell给定URL的一个交互式模块startproject用于创建项目version显示Scrapy版本view使用Scrapydownloader提取URL并显示在浏览器中的内容genspider使用内置模板在spiders文件下创建一个爬虫文件bench测试scrapy在硬件上运行的效率Scrapy核心操作:命令与解析弎项目命令命令描述crawl用来使用爬虫抓取数据,运行项目check检查项目并由crawl命令返回list显示本项目中可用爬虫(spider)的列表edit可以通过编辑器编辑爬虫parse通过爬虫分析给定的URLScrapy核心操作:命令与解析弎2字段定义及Scrapy设置(1)自定义字段

在进行网页内容的爬取时,明确目标是不可或缺的一个步骤。在Scrapy中,通过修改items.py文件中代码进行字段的自定义操作即可明确爬取的目标。语法格式:#导入scrapy模块importscrapy#定义包含scrapy.Item参数的类classScrapynameItem(scrapy.Item):#definethefieldsforyouritemherelike:#自定义字段name=scrapy.Field()#通过提示passScrapy核心操作:命令与解析弎除了通过“scrapy.Field()”方法外,还可以通过import命令从Scrapy中先引入Item和Field,之后直接使用即可。语法格式:#导入scrapy的Item参数和Field方法fromscrapyimportItem,Field#定义包含scrapy.Item参数的类classScrapynameItem(Item):#自定义字段name=Field();#通过提示passScrapy核心操作:命令与解析弎items.py文件中包含的内容仅为字段的定义,还需在MySpider.py文件中通过类名称引入items.py文件中class定义的类并实例化字段对象,之后通过“对象[字段名称]=值”的方式进行赋值操作。语法格式:importscrapy#导入ScrapynameItem类fromScrapyName.itemsimportScrapynameItemclassMyspiderSpider(scrapy.Spider):defparse(self,response):item=ScrapynameItem()item["name"]="值"Scrapy核心操作:命令与解析弎(2)项目设置Scrapy中项目的设置通过settings.py文件,通过指定项目属性和属性值定义设置项目,包括项目名称设置、并发请求设置、爬虫中间件设置等。Scrapy核心操作:命令与解析弎(3)通用参数设置通用spider参数参数描述scrapy.Spider通用SpiderCrawlSpider指定规则爬取网站XMLFeedSpider通过迭代节点分析XML内容Scrapy核心操作:命令与解析弎(1)XPath选择器3文本解析符号和方法描述nodeName选取此节点的所有节点/根节点//选择文档中的所有匹配节点.当前节点..当前节点的父节点@选取属性*匹配任何元素节点@*匹配任何属性节点Node()匹配任何类型的节点text()获取文本内容Xpath路径表达式包含符号和方法Scrapy核心操作:命令与解析弎在Scrapy中,路径表达式通过xpath()方法应用。语法格式:importscrapy#从scrapy.selector中导入Selectorfromscrapy.selectorimportSelectorclassMyspiderSpider(scrapy.Spider):name='MySpider'allowed_domains=['域名列表']start_urls=['网址列表']defparse(self,response):#构造Selector实例sel=Selector(response)#解析HTMLxpath=sel.xpath('表达式')pass使用Scrapy框架完成新闻公告页面数据采集与存储弎

在Scrapy中,CSS路径表达式通过css()方法应用。(2)CSS选择器语法格式:importscrapy#从scrapy.selector中导入Selectorfromscrapy.selectorimportSelectorclassMyspiderSpider(scrapy.Spider):name='MySpider'allowed_domains=['域名列表']start_urls=['网址列表']defparse(self,response):#构造Selector实例sel=Selector(response)#解析HTMLcss=sel.css('表达式')passScrapy核心操作:命令与解析弎(1)文件存储4内容存储语法格式:scrapycrawl爬虫文件名称path在Scrapy中,可以使用crawl命令的“-o”参数,在运行Scrapy项目时将数据保存到本地JSON、CSV等文件中。Scrapy核心操作:命令与解析弎(2)管道存储语法格式:ITEM_PIPELINES={'ScrapyProject.pipelines.ScrapyprojectPipeline':300,}Scrapy中管道的使用需要先在settings.py文件添加ITEM_PIPELINES参数,进行管道的启用。Scrapy核心操作:命令与解析弎ITEM_PIPELINES参数说明参数描述ScrapyProject项目名称pipelines管道文件名称ScrapyprojectPipeline'管道中包含的类名称300执行管道的优先级,值为0~1000,数字越小,管道的优先级越高,优先调用

Scrapy实战与应用拓展切换到命令行,进入PressRelease的项目,使用genspider命令在spiders目录中创建一个名为job的爬虫文件输入地址/lcjtww/445068/445237/index.html打开命令窗口,使用startproject命令创建一个名为PressRelease的Scrapy项目修改配置文件,

温馨提示

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

评论

0/150

提交评论