scrapy数据建模与请求

scrapy数据建模与请求

数据建模

❤在爬虫项目中,item.py 文件通常用来定义数据模型(Item),用于存储从网页抓取到的信息。这种数据模型通常使用 Scrapy 框架提供的 Item 类或类似的类(如 PyQuery、BeautifulSoup 等库中的类似概念)来构建。

1.1为什么建模

1.定义item即提前规划好哪些字段需要抓,防止手误,因为定义好之后,在运行过程中,系统会自动检查

2.配合注释一起可以清晰的知道要抓取哪些字段,没有定义的字段不能抓取,在目标字段少的时候可以使用字典代替

3.使用scrapy的一些特定组件需要项做支持,如scrapy的ImagesPipeline管道类

1.2如何建模

  1. 找到item.py文件

    在这里插入图片描述

  2. 定义Item字段及其数据类型

    (此处使用的是最基础的Field方法–基本字段定义(默认都是字符串类型))

    [!IMPORTANT]

    每个字段都是通过调用 scrapy.Field() 创建的。虽然这里没有显式指定字段的数据类型,但在实际使用中,Scrapy 会根据赋值数据自动推断字段类型,通常默认为字符串类型。如果您需要指定特定的数据类型或额外的参数,可以传递给 Field() 方法
    在这里插入图片描述

1.3如何使用模板类

❤模板类定义以后需要在爬虫中导入并且实例化,之后的使用方法和使用字典相同

  1. 回到爬虫文件

在这里插入图片描述

2.导入item文件

from myspider.items import MyspiderItem

3.实例化item文件(在原先用字典的地方进行实例化)

❤应替换的地方
在这里插入图片描述

❤实例化的替换地方

在这里插入图片描述

[!NOTE]

在item.py文件中,由于自己建的类不属于字典,所以在管道中直接把item当作字典进行转换时scrapy在运行的过程中会报错,必须将item对象强转成字典

在这里插入图片描述

tips:

  1. from myspider.items import Myspideritem这一行代码中 注意item的正确导入路径,忽略pycharm标记的错误
    r.items import Myspideritem这一行代码中 注意item的正确导入路径,忽略pycharm标记的错误
  2. python中的导入路径要诀:从哪里开始运行,就从哪里开始导入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值