Python爬虫之Scrapy框架系列(8)——XXTop250电影所有信息同时存储到MySql数据库

news2024/11/9 10:07:34

现在又不满足于只保存在本地txt文本了,所以来试试存储到数据库mysql里怎么搞呢?(首先,要准备好mysql数据库以及navicat数据库可视化管理工具)

目录:

  • 分析:如何同时存储到本地txt文本以及mysql数据库里?
    • 1.1 新建管道完整代码:
    • 1.2 settings.py文件中连接mysql数据库的配置:
    • 1.3 settings.py文件中打开储存到Mysql数据库的管道:
    • 1.4 navicat创库建表:
    • 1.5 运行爬虫即可

分析:如何同时存储到本地txt文本以及mysql数据库里?

  • 这就需要再新建一个管道,并开启这个管道( settings里管道类名添加 ),最后,使用pymysql连接数据库。

示例代码:
在这里插入图片描述

1.1 新建管道完整代码:

import pymysql
class DoubanSqlPipeline(object):
    # 1.连接数据库
    def open_spider(self,spider):
        data_config=spider.settings["DATABASE_CONFIG"]
        if data_config["type"]=="mysql":
            self.conn=pymysql.connect(**data_config["config"])
            self.cursor=self.conn.cursor()

    def process_item(self,item,spider):
        dict(item)
        sql='insert into dbfilm (filmname,starname,score,description) values(%s,%s,%s,%s)'
        self.cursor.execute(sql,
                                (
                                    item["film_name"],
                                    item["star_name"],
                                    item["score"],
                                    item["description"],
                                )
                            )
        self.conn.commit()
        return item
    def close_spider(self,spider):
        self.cursor.close()
        self.conn.close()

1.2 settings.py文件中连接mysql数据库的配置:

DATABASE_CONFIG={
    "type":"mysql",
    "config":{
        "host":"localhost",
        "port":3306,
        "user":"root",
        "password":"123456",
        "db":"doubanfilm",
        "charset":"utf8"
    }
}

1.3 settings.py文件中打开储存到Mysql数据库的管道:

在这里插入图片描述

1.4 navicat创库建表:

创库:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.5 运行爬虫即可

  • (注意:运行之前,一定要在Mysql里创建对应的数据库,表及字段)。运行之后navicat里效果:在这里插入图片描述

豆瓣项目已完结!项目源码:
链接:https://pan.baidu.com/s/1DOnXwXZKiBcJbzHwDJuw5A
提取码:u8xi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/185319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

回溯详解 LeetCode 46. 全排列 51. N 皇后 52. N皇后 II

🌈🌈😄😄 欢迎来到茶色岛独家岛屿,本期将为大家揭晓LeetCode 46. 全排列 51. N 皇后 52. N皇后 II,做好准备了么,那么开始吧。 🌲🌲🐴🐴 46. 全…

Word处理控件Aspose.Words功能演示:如何在 C# 和Java中将 DOC 转换为 JSON

Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外, Aspose API支持流行文件格式处…

kvm磁盘管理

kvm磁盘管理虚拟磁盘类型rawqcow2qemu-img常用参数主要参数:查看磁盘信息--info创建磁盘文件--create磁盘容量调整--resize磁盘增加容量磁盘缩小容量(生产环境下禁止操作)磁盘调整容量到指定大小转换磁盘格式--convert检查磁盘镜像在线热添加磁盘附加磁盘到vm实例--…

UI自动化测试面试题总结

文章目录一、请描述实现用户登陆模拟自动化测试的思路。二、基于Web端呈现的产品如何做自动化测试,谈谈你的思路和方向。三、什么是web自动化测试?四、什么是selenium?五、写出selenium中你最熟悉的接口或类(*)六、findElement()和findElemen…

java总结(数组)

1.数组概述数组(Array)是多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一的管理。数组相关概念数组名:下标(索引)元素数组长度数组特点有序排列数…

sqlserver将mdf文件拆分成多个ndf文件

sqlserver版本:2008R2 1、为什么要拆分 数据库在运行一段时间后mdf文件会迅速增大,这会导致查询速度变慢。或者mdf文件的大小达到了操作系统允许的最大大小,这个时间就必须要进行拆分了。 2、拆分的好处 在没有拆分的时候只有一个mdf主数…

KVM虚拟化技术学习笔记10

虚拟机镜像管理 学习目标: 能够了解KVM虚拟机支持的镜像格式 能够使用qemu-img实现镜像创建 能够使用qemu-img实现镜像查看 能够使用qemu-img实现镜像格式转换 能够了解后备镜像的作用 能够了解差量镜像的作用 能够基于后备镜像制作差量镜像 能够使用差量镜…

SAP ADM100-2.3 系统启动:AS ABAP和AS ABAP+JAVA

一、打开并停止一个SAP Netweaver AS ABAP+JAVA 使用例如SAP MC(SAP Management Console)工具开启并关闭实例。在一个双栈实例中(ABAP+JAVA),JAVA是通过ABAP dispatcher使用Startup and Control Framework开启的,然后它再开启JAVA dispatcher和SP(server Processes)。 …

Qt OpenGL(三十)——Qt OpenGL 核心模式-纹理二(给正方体贴上图片)

提示:本系列文章的索引目录在下面文章的链接里(点击下面可以跳转查看): Qt OpenGL 核心模式版本文章目录 Qt OpenGL(三十)——Qt OpenGL 核心模式-纹理二(给正方体贴上图片) 通过前两篇文章,我们知道了如何绘制一个正六面体和使用纹理贴图,本篇继续介绍在正方体(正…

面试中如何才能有底气的回答,软件测试题库你有必要一用

面试,是决定求职者是否能进入到自己心仪岗位的敲门砖,而对于很多第一次参加软件测试面试的求职来说,想要通过面试就得经过hr的初面以及技术官技术面,前者还好说,可以根据情况临场发挥,而后者,就…

Linux 之十七 Ubuntu 22.04 配置内核版本、GRUB 引导、远程桌面

前段时间重新安装了 Ubuntu 22.04 LTS,安装后没有显示 GRUB 引导页面(默认自动跳过),直接使用默认内核启动,而我需要变更一下默认的内核版本,特此记录一下修改过程。 安装其他版本内核 Ubuntu 中安装其他版…

MAC m1 安装 allure

一、下载安装包,并进行解压 1.1 下载安装包 官网下载包地址 1.2 双击 进行 解压 二、配置环境变量 2.1 打开配置文件 在终端输入以下命令 vi ~/.bash_profile【注意】 该命令地址 注意 中间不要出现多余的空格,否则打开会有问题,这个…

学生护眼台灯怎么选?推荐教育部认可护眼灯品牌

现在许多家庭都会购买学生护眼台灯给孩子用,那么学生护眼台灯怎么选?1. 光线的舒适度,才是最关键的:一般会在护眼技术上体现出,有全光谱灯珠、色温舒适、显色指数高、无蓝光危害、无可视频闪等,让光线照射眼…

高效、优雅的对象copy之MapStruct入门到精通,实战踩坑版

一、前言 大家在开发中,最让人头疼的就是:对象之间的拷贝,前端的VO和数据库的Entity不一致! 性能最好的就是手动set,主要是枯燥且无技术含量,不仅耗费大量时间而且很容易出错; 所以我们要成为…

jsp 新房销售竞买管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 新房销售竞买管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统采用web模式开发,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…

OJ万题详解––赦免战俘(C++详解)

题目 题目背景 借助反作弊系统,一些在月赛有抄袭作弊行为的选手被抓出来了! 题目描述 现有 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵,每个更小的矩阵的边长…

VSCode调试Python文件并指定虚拟环境 附调试说明

记录在使用VSCode调试py文件时遇到的一些问题:1.启用Debug模式进行调试2.调试带参数的python文件3. 调试时指定服务器虚拟环境4. 相对路径出错5 continue(继续)、step over(单步跳过)、step in(单步调试&am…

【Python学习笔记】2. Python3 环境搭建

前言 将向大家介绍如何在本地搭建 Python3 开发环境。 Python3 可应用于多平台包括 Windows、Linux 和 Mac OS X。 Python3 环境搭建 本节我们将向大家介绍如何在本地搭建 Python3 开发环境。 Python3 可应用于多平台包括 Windows、Linux 和 Mac OS X。 Unix (Solaris, Li…

我理解的测试开发与实践总结——新人篇

我理解的测试开发与实践总结——新人篇 目录导读 一、我理解的测试开发 二、测试和开发、产品的关系 三、测试开发需要具备的技能 四、我们在测试过程中需要做到什么程度 五、我们需要具备的素质 六、测试工作流程及关注点有哪些 七、平时常用的一些小工具和测试技巧 写…

windows下编译mingw版本的glew库

glew下载 https://glew.sourceforge.net/index.html windows二进制版下来是MSVC版的库文件,.lib文件。而gcc并不能使用,需要重新进行编译。 下载源码版的glew文件,解压,进入到源码目录,打开cmd 第一步:编译…