zoukankan      html  css  js  c++  java
  • scrapy持久化存储

    基于终端指令:

    要求:只可以将parse方法的返回值存储到本地的文本文件中

    注意:持久批存储对应的文本文件类型只可以为:('csv', 'pickle', 'json', 'xml', 'jl', 'jsonlines', 'marshal')

    指令:scrapy crawl xxx -o filePath

    好处:简洁高效便捷

    缺点:局限性比较强(数据只可以存储到指定后缀的文本文件中)


     

    基于管道:

    编码流程:

    • 数据解析
    • 在item类中定义相关的属性
    • 将解析的数据封装存储到item类型的对象
    • 将item类型的对象提交给管道进行持久化存储的操作
    • 在管道类的process_item中要将其接收到的item对象中存储的数据进行持久化存储操作
    • 在配置文件中开启管道

    好处:

    • 通用性强

    面试题:将爬取到的数据一份存储到本地一份存储到数据库,如何实现

    • 管道文件中一个管道类对应的是将数据存储到一种平台,所以需要在pipelines.py文件中定义新的管道类
    • 爬虫文件提交的item只会给管理文件中第一个被执行的管道类接收
    • process_item中return item表示将item传递给下一个即将被执行的管道类

     

  • 相关阅读:
    观后感
    用户故事排球教练助手
    本周工作量
    本周个人作业
    个人工作量
    个人作业
    产品计划总结
    典型用户和场景总结
    排球比赛计分规则
    PowerShell ISE:Windows Server 2008 R2默认不安装
  • 原文地址:https://www.cnblogs.com/nanjo4373977/p/12986396.html
Copyright © 2011-2022 走看看