scrapy持久化存储

本文介绍了使用Scrapy进行数据持久化存储的两种方式:一是通过终端指令存储为json、csv等格式;二是利用管道(Pipeline)进行数据存储,详细讲解了数据存储流程,并给出了具体的代码示例,包括在item.py中定义数据结构,以及在pipelines.py中实现存储到文件和数据库的操作。
摘要由CSDN通过智能技术生成

目录

一是基于终端指令的存储:

二是基于管道存储:

数据存储流程:

再存储一份到数据库:


解析出的数据进行持久化存储的两种方式:

一是基于终端指令的存储:

可以存储为json,jsonlines,jl,csv,xml,marshal,pickle格式,有局限性

实现方式,在爬虫文件解析函数重添加返回值return 值,然后在执行一下命令

scrapy crawl 爬虫文件名 -o ./存储路径.后缀

例如:下面是test爬虫文件

import scrapy

class TestSpider(scrapy.Spider):
    name = 'test'
    # allowed_domains = ['www.xxx.com']
    start_urls = ['https://search.bilibili.com/all?keyword=python']
    #b站中搜索python 的连接

    def parse(self, response):
        '''
        将搜索出的页面进行解析,找到当页的每个
        up主名字(up_name),视频信息(title),时长(time_long),视频连接(link),观看数量(watch_num)
        然后进行存储
        '''
        li_items=response.xpath('//ul[@class="video-list clearfix"]/li[@class="video-item matrix"]')
        info_list=[]
        for li in li_items:
            dic={}
            dic['link']=li.xpath('./a/@href').extract_first()
            dic['title']=li.xpath('./a/@title').extract_first()
            dic['time_long']=li.xpath('./a//span[@class="so-imgTag_rb"]/text()').extract_first()
            dic['up_name']=li.xpath('./div//a[@class="up-name"]/text()').extract_first()
            watch_num=li.xpath('./div//span[@class="so-icon watch-num"]/text()').extract_first().strip('"')
            dic[&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值