如何用scrapy连接mysql

IDE我用的是pycharm2018

事先准备

在已经写好一个爬虫的前提下进行,现在已经进入到存储数据阶段了,由于同步存入数据库效率太低,这里直接使用异步存入
下面是我的items
在这里插入图片描述

导包

这里我们需要用到几个包

from twisted.enterprise import adbapi //用于导入连接池
from pymysql import cursors //用于导入cursor类

pipline的书写

初始化

在这里插入图片描述
当使用pipline时我们进行一个初始化,与mysql相连接,异步方法如何连接呢?答案就是使用连接池,该函数底层调用对应数据库的连接方法,只要将数据库名字写进去即可(‘pymysql’就是我们调用的库,加入dbprams参数就可以连接到我们指定的mysql数据库中了)
这里的dbprams中有一个cursorclass属性,这个属性在异步模式中应该算是必加的,我们调用cursors(操作写入数据库的游标)的dictcursor,代表用字典的方式往数据库里存
在这里插入图片描述
大概就是这个样子,写成字典的形式

sql语句书写

在这里插入图片描述
我们是插入数据库操作,自然是insert语句了, id属性那里设置值为null需要注意下
该插入方法我们作为一个静态属性使用(@property的作用),传参时就可以作为属性传入
在这里插入图片描述

执行sql语句

执行语句的关键就是
在这里插入图片描述
runInteraction会将insert_item函数保留下来变成异步
还有一个异常处理方法,出现异常时抛出,内容如下图,直接打印error
在这里插入图片描述

链接:https://pan.baidu.com/s/1jQx4GucDGYP0G3NQn5R65w
提取码:im5d
源码丢这里防忘记

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值