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

2024年07月05日 Scrapy Python51

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

代码只有短短的几行,相信难不倒在座各位小伙伴,顺便也可以写写代码练练手。

本文链接:http://so.lmcjl.com/news/7871/

展开阅读全文