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传递给下一个即将被执行的管道类
相关推荐
温攀峰 2020-10-23
Dyancsdn 2020-07-28
鲁氏汤包王 2020-06-08
Callmesmallpure 2020-05-31
无能力者只知抱怨 2020-05-09
技术之博大精深 2020-05-03
shenzhenzsw 2020-05-01
jokewinl 2020-04-20
ljbhander 2020-04-11
JavaWDB 2020-03-26
fansenjun 2020-03-03
wangxiaoxue 2020-02-17
Java高知 2020-02-14
wangxiaoxue 2020-01-29
qiqizhiyun 2020-01-29
杜引强 2020-01-13