如何用python爬虫scrapy框架中获取内容?

如何用python爬虫scrapy框架中获取内容?,第1张

如何用python爬虫scrapy框架中获取内容?

之前文章有提到一个大哥旁边跟着一个小弟,没想到小弟也是很厉害,也有一个迷弟崇拜着,这大概就是优秀也是会影响的吧。同样的,虽然我们今天所要讲的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学习网教学中心。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/3014373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存