爬取小说入库Mysql和Mongo


本文以 scrapy爬虫爬取完整小说为基础

一、入库Mysql

1.1、安装pymysql插件

执行命令:pip3 install pymysql

1.2、创建MysqlPipeline类

pipelines.py文件中新增MysqlPipeline类,将小说内容写入Mysql数据库(需要先创建t_xiaoshuo表connect()中的参数根据实际情况修改)

# 入库Mysql
class MysqlPipeline(object):
    def open_spider(self, spider):
        self.client = connect(host='localhost', port=3306, user='root', password='root', db='testdb', charset='utf8')
        self.cursor = self.client.cursor()

    def process_item(self, item, spider):
        sql = 'insert into t_xiaoshuo values(0,%s,%s)'
        self.cursor.execute(sql, [item['title'], item['content']])
        self.client.commit()
        return item

    def close_spider(self, spider):
        self.cursor.close()
        self.client.close()

1.3、配置文件修改

settings.py中将ITEM_PIPELINES改为MysqlPipeline

ITEM_PIPELINES = {
   'xiaoshuospider.pipelines.MysqlPipeline': 301,
}

1.4、效果查看

在这里插入图片描述

二、入库Mongo

2.1、安装pymongo插件

执行命令:pip3 install pymongo

2.2、创建MongoPipeline类

pipelines.py文件中新增MongoPipeline类,将小说内容写入Mongo数据库

# 入库Mongo
class MongoPipeline(object):
    def open_spider(self, spider):
        self.client = MongoClient()
        self.db = self.client.testdb
        self.xiaoshuo = self.db.xiaoshuo

    def process_item(self, item, spider):
        self.xiaoshuo.insert(item)
        return item

    def close_spider(self, spider):
        self.client.close()

2.3、配置文件修改

settings.py中将ITEM_PIPELINES改为MysqlPipeline

ITEM_PIPELINES = {
   'xiaoshuospider.pipelines.MongoPipeline': 302
}

2.4、效果查看

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值