Scrapy学习笔记(二)

    xiaoxiao2022-07-12  138

    Scrapy学习笔记(二)

    Scrapy把爬取的数据存入MySql数据库中1、安装MySql数据库2、安装python模块3、创建数据库4、写pipelines通道

    Scrapy把爬取的数据存入MySql数据库中

    1、安装MySql数据库

    网上有很多教程,我随便找了一个 https://www.runoob.com/mysql/mysql-install.html 可以参考一下。

    2、安装python模块

    安装好数据库之后,在命令行执行

    pip install pymysql

    3、创建数据库

    安装数据库之后,我们可以有两种方式创建数据库:

    使用Navicat for MySQL这个软件,可视化创建

    软件的下载地址:https://pan.baidu.com/s/1TJL66ZdJeeG1dSSjYda2Zg 提取码:3835 软件安装之后需要注意一点,点击PatchNavicat.exe然后找到第一个软件的安装目录选择navicat.exe,当提示successful就完成了。 创建连接ip为localhost 然后打开创建名字为douban的数据库,创建表douban,表字段为

    使用命令行创建 create database douban; create table top250(ranking int primary key, movie_name varchar(255), score varchar(255), score_num varchar(255) );

    4、写pipelines通道

    在我的上一篇博客:https://blog.csdn.net/qq_35006802/article/details/90447285 里已经写了爬取豆瓣Top250电影的爬虫,接下来我们需要把爬取到的数据存入到MySQL数据库中。 接下来执行的操作就是在pipelines.py文件里编写如下代码:

    import pymysql.cursors class DemoPipeline(object): def __init__(self): self.connect = pymysql.connect( host="localhost", port=3306, use_unicode=True, user="root", passwd="123456", db="douban", ) self.cursor = self.connect.cursor() def process_item(self, item, spider): self.cursor.execute( '''insert into douban(ranking,movie_name,score,score_num) values (%d,%s,%s,%s)''', (item['ranking'], item['movie_name'], item['score'], item['score_num']) ) self.connect.commit() return item

    开启管道

    ITEM_PIPELINES = { 'demo.pipelines.DemoPipeline': 300, }

    运行Scrapy学习笔记(一)里写的run.py文件。 我们爬取的数据就存到了数据库中。

    最新回复(0)