首页 > 其他分享 >scrapy——终端持久化存储

scrapy——终端持久化存储

时间:2024-03-02 12:11:20浏览次数:22  
标签:xpath douban 存储 持久 scrapy div data

笔记

- 基于终端指令:
    - 要求:只可以将parse方法的返回值存储到本地的文本文件中  scrapy crawl dou -o ./douban.csv
    - 注意:持久化存储的类型只可以是'json', 'jsonlines', 'jsonl', 'jl', 'csv', 'xml', 'marshal', 'pickle'这些文件
    - 好处:简洁高效
    - 缺点:局限性比较强(数据只可以存储到指定后缀的文本文件中)

代码

import scrapy
from douban.items import DoubanItem
class DouSpider(scrapy.Spider):
    name = "dou"
    #allowed_domains = ["www.douban.com"]
    start_urls = ["https://www.douban.com/doulist/113652271/"]
   #def parse(self, response):
   #    all_data = [] #存储所有解析到的数据
   #    div_ = response.xpath('/html/body/div[3]/div[1]/div/div[1]')
   #    div_list = div_.xpath('./div[contains(@class, "doulist-item")]')
   #    for div in div_list:
   #        # print(div)
   #        title = div.xpath('./div/div[2]/div[2]/a/text()')[0].extract()
   #        content = div.xpath('./div/div[2]/div[4]/text()').extract_first()
   #        dic = {
   #            'title':title,
   #            'content': content
   #        }
   #        all_data.append(dic)
   #    return all_data

 

标签:xpath,douban,存储,持久,scrapy,div,data
From: https://www.cnblogs.com/lin513/p/18048467

相关文章

  • scrapy
    scrapy框架-什么是框架-就是集成了很多功能并且具有很强通用性的一个项目模板-如何学习框架-专门学习框架封装的各种功能的详细用法-什么是scrapy-爬虫中封装好的一个明星框架。-功能:高性能的持久化存储,异步的数据下载,高性能的数据解析,分布式......
  • scrapy数据解析
    importscrapyclassDouSpider(scrapy.Spider):name="dou"#allowed_domains=["www.douban.com"]start_urls=["https://www.douban.com/doulist/113652271/"]defparse(self,response):div_=response......
  • Spectrum高速采集存储系统
    产品简介:♦连续(无丢失)数据记录♦传输度高达3GByte/s♦一体化系统解决方案♦从1到32T的数据存储空间♦单发和多(分段)倍记录模式更多信息请加weixin-pt890111获取连续(无丢失)数据记录可保证的传输流速高达3GByte/s一体化系统解决方案从1到32T的数据存储空间单发和多倍......
  • docker更换存储路径
    方案一:创建或修改`daemon.json`文件。在Docker1.12或以上版本中,可以通过创建或修改`/etc/docker/daemon.json`文件来指定新的存储路径。例如,在文件中添加`"data-root":"/home/docker"`,然后重启Docker服务。345方案二:使用软链接。首先,停止Docker服务,移动现有的`/......
  • 【Serverless】云存储新建账号无法创建存储实例解决方案
    ​ 【问题描述】一些开发者想要使用AGC云存储服务,在开通服务后,需要创建一个存储实例,但是在点击创建按钮时,出现了未知错误的报错提示,创建失败。​【解决方案】获取到了开发者的浏览器报错日志后,发现了在创建Bucket时返回了“138012:invokeqmserror”的错误。​​随后在咨询......
  • C++static 存储类
    1#include<iostream>23//函数声明4voidfunc(void);56intmain()7{8intcount=10;9while(count--)10{11func();12std::cout<<",变量count为"<<count<<std::endl;13......
  • SQL Server存储过程
    SQLServer中视图通过简单的SELECT查询来解决复杂的查询,但是视图不能提供业务逻辑功能,而存储过程可以办到这点。什么是存储过程?存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。存储过程中可......
  • 【C++】Mat和Pat希望邀请他们的朋友来参加派对。他们要编写一个程序完成下面的任务。
    Mat和Pat希望邀请他们的朋友来参加派对。他们要编写一个程序完成下面的任务。让Mat输入他朋友的姓名列表。姓名存储在一个容器中,然后按排列后的顺序显示出来。让Pat输入她朋友的姓名列表。姓名存储在另一个容器中,然后按排列后的顺序显示出来。创建第三个容器,将两个列表合并,删除重......
  • nas存储
    参考文档:文件存储NAS一、nas是什么NAS全称为NetworkAttachedStorage(网络附属存储),简单理解就是专门用来存储数据、且可以连接网络的一种存储设备。NAS主要特点是将存储与服务器相分离,抛开传统服务器运行带宽压力,集中做数据管理部分,从而实现低成本、高效率的数据存储。它是一种......
  • 三分钟数据持久化:Spring Boot, JPA 与 SQLite 的完美融合
    三分钟,迎接一个更加高效和简便的开发体验。在快节奏的软件开发领域,每一个简化工作流程的机会都不容错过。想要一个无需繁琐配置、能够迅速启动的数据持久化方案吗?这篇文章将是你的首选攻略。在这里,我们将向你展示如何将SpringBoot的便捷性、JPA的强大查询能力和SQLite的......