1、保存数据库有两种方法:
同步操作:数据量少的时候采用
异步操作:数据量大时采用,scrapy爬取的速度大于数据库插入的速度,当数据量大时就会出现堵塞,就需要采用异步保存。
这里多大的数据量才可定义为大??
2、须知mysql知识点
数据库与表的创建,基本操作; 参考https://blog.csdn.net/shalyniu/article/details/79247423
数据库与表的删除,使用频率少; 参考https://blog.csdn.net/shalyniu/article/details/79247423
插入数据,在爬虫时执行频率非常之高; insert into test_table(colname1,colname2,……) values(value1,value2,……)
查询数据;select * from test_table
3、mysql数据库的安装
参考https://www.cnblogs.com/raind/p/8977135.html
4、python提供的MySQLdb/pymysql模块
pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。
pymysql支持python3.x而MySQLdb不支持3.x版本。
我使用的为pymsql
①连接数据库
connect = pymysql.connect(host='XXX', user='root', passwd='XXX', db='scrapy_test')
连接数据库过程中传入多个参数:数据库主机名(默认为本地主机),数据库登录名(默认为当前用户),数据库密码(默认为空),要打开的数据库名称(无默认,可缺省),MySQL使用的TCP端口(默认为3306,可缺省),数据库字符编码(