爬虫采集下来的数据我们需要将其存储起来,可以存储为文本,也可以将其存到数据库中,下面简单介绍一下存入数据库中
首先我们要有相应的模块,以mysql为例:我们需要pymysql模块,pip install pymysql
要如何引用呢,首先引入pymysql
import pymysql
然后连接数据库并获取操作游标
db = pymysql.connect("localhost","username","password","数据库名称",charset='utf8' )
#获取操作游标
cursor = db.cursor()
获取完操作游标之后,就可以执行sql语句了
先创建一个表
sql ="""
CREATE TABLE ceshi (
name CHAR(20) NOT NULL,
age INT)
"""
#执行sql语句
cursor.execute(sql)
表创建完成之后向表中添加数据
sql1 ="INSERT INTO EMPLOYEE (name,age) VALUES ('laowang', 20)"
执行插入插入数据的sql语句,没有出错则正常插入,出错回滚事物
try:
# 执行sql语句
cursor.execute(sql1)
# 提交到数据库执行
db.commit()
except Exception as e:
# 发生错误时回滚
print("出错了",e)
db.rollback()
最后关闭数据库连接
db.close()
mysql简单说道这里,推荐一个mysql的界面化工具SQLyog。
下面说一下mongodb,
mongodb和mysql大同小异,
pip install pymongo
from pymongo import MongoClient #引入pymongo模块
连接mongodb
conn = MongoClient('192.168.0.113', 27017)
#连接mydb数据库,没有则自动创建
db = conn.my_mongodb
#使用test_set集合(相当于mysql中的数据表),没有则自动创建
my_test = db.test_set #如果想要循环多个集合, my_test = db[集合名称]
然后是向mongodb中插入数据,insert和save
my_test.insert({"name":"laowang","age":34},{多条数据1},{多条数据2})
mongodb推荐一个界面化工具:Rotomongo
mongodb存储海量数据时,需要注意mongodb的存储机制了,因为mongodb在没有删除数据库的前提下(删除数据集合也是不会释放空间的),是不会释放磁盘空间的,所以对磁盘空间要把控好,如果想要释放磁盘空间,就需要进入删除数据的数据库,执行
db.repairDatabase()
这个在官方的说法是修复数据,因为mongodb的机制,删除的数据会被标记为空记录,也就是失效数据,这条命令会将空数据清掉,然后释放磁盘空间,不过需要注意磁盘(需要当前数据库占用的磁盘空间+2G),否则会出现一些意外状况,请谨慎使用。
详情请参考官方文档.
数据库简单介绍到这里
网友评论