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
源码丢这里防忘记