之前文章有提到一个大哥旁边跟着一个小弟,没想到小弟也是很厉害,也有一个迷弟崇拜着,这大概就是优秀也是会影响的吧。同样的,虽然我们今天所要讲的scrapy框架只是python中的一个分支,但是其中的Items模块在抓取数据方面也出了不少的力,接下来我们看看它是怎样获取内容的吧。
Items介绍
爬取的主要目标就是从非结构性的数据源提取结构性数据,例如网页。 Scrapy spider可以以python的dict来返回提取的数据.虽然dict很方便,并且用起来也熟悉,但是其缺少结构性,容易打错字段的名字或者返回不一致的数据,尤其在具有多个spider的大项目中。
为了定义常用的输出数据,Scrapy提供了 Item 类。 Item 对象是种简单的容器,保存了爬取到得数据。 其提供了 类似于词典(dictionary-like) 的API以及用于声明可用字段的简单语法。
许多Scrapy组件使用了Item提供的额外信息: exporter根据Item声明的字段来导出数据、 序列化可以通过Item字段的元数据(metadata)来定义、 trackref 追踪Item实例来帮助寻找内存泄露 (see 使用 trackref 调试内存泄露) 等等。
Item 对象是种简单的容器,保存了爬取到得数据。 其提供了 类似于词典(dictionary-like) 的API以及用于声明可用字段的简单语法。
在Scrapy中,items是用来加载抓取内容的容器,提供了一些额外的保护减少错误。
一般来说,item可以用scrapy.item.Item类来创建,并且用scrapy.item.Field对象来定义属性。
接下来,我们开始来构建item模型(model)。
首先,我们想要的内容有:
排名(ranking)
电影名称(movie_name)
电影评分(score)
评论人数(score_num)
格言(quote)
Item使用简单的class定义语法以及Field对象来声明。我们打开scrapyspider目录下的items.py文件写入下列代码声明Item:
代码只有短短的几行,相信难不倒在座各位小伙伴,顺便也可以写写代码练练手。更多Python学习推荐:PyThon学习网教学中心。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)