学习视频推荐:【达内】2021年Python爬虫全套课程(爬虫快速上手)_哔哩哔哩_bilibili
目录
1.数据持久化存储-csv
csv模块
- 模块
- csv Python标准库模块
- 作用
- 将爬取的数据存放到本地的csv文件中
- 使用流程
- 打开csv文件 f = open('test.csv', 'w', encoding = 'utf8')
- 初始化写入对象 writer = csv.writer(f)
- 写入数据(参数为列表) writer.writerow(['', '']) 或者 writer.writerows([('', ''), (), ()...])
- 代码示例
- 1.writer.writerow(['', ''....]) 参数为列表,列表中每个元素为csv文件中单元格的数据
-
import csv data_list = ['Jack', 18] # 打开csv文件 file = open('writerow.csv', 'a', newline='') # 初始化写入对象 writer = csv.writer(file) # 一行行写入数据 writer.writerow(data_list) writer.writerow(data_list) writer.writerow(data_list) writer.writerow(data_list) # 关闭文件 file.close()
-
- 2.writer.writerows([('', '', ''....),(),...]) 其中每个元组为一行数据,元组中的元素为一行中csv单元格中的数据第三方
-
import csv data = [('Jastin', 20), ('Bob', 11), ('Athena', 21), ('Backy', 35)] # 打开文件 file = open('writerows.csv', 'a', newline='') # 初始化写入对象 writer = csv.writer(file) # 一次写入多行数据 writer.writerows(data) # 关闭文件 file.close()
-
- 1.writer.writerow(['', ''....]) 参数为列表,列表中每个元素为csv文件中单元格的数据
2.数据持久化存储-MySQL
pymysql回顾
- pymysql模块与MySQL数据库交互流程
- 创建数据库连接对象 db = pymysql.connect(host='localhost', user = 'root', password = '123456', database = 'xxx', charset = 'utf8')
- 创建游标对象 cursor = db.cursor()
- 执行SQL命令
- cursor.excute(sql语句, [xx, xx...]) 一次插入1条表记录
- cursor.excutemany(sql语句, [(xx, xx...), (), ()...])一次插入多条表记录
- 代码示例
-
import pymysql # 1. 创建数据库连接 db = pymysql.connect(host='localhost', user='root', passwd='123456', database='maoyandb', charset='utf8') # 2. 创建游标对象 cursor = db.cursor() # 3. 执行sql语句,将电影信息写入数据库表中 # execute()一次写入一行数据 cursor.execute('insert into maoyan VALUES (%s, %s, %s)', ['长安如故', '任嘉伦,白鹿', '2021.8.20']) # executemany()一次写入多行数据 data_list = [('花千骨', '赵丽颖,霍建华', '2017.1.1'), ('机智的上半场', '章若楠,翟子路', '2021.9.1'), ('你是我的荣耀', '杨洋,迪丽热巴', '2021.7.1')] cursor.executemany('insert into maoyan VALUES (%s, %s, %s)', data_list) # 4. 提交到数据库执行 db.commit() # 5. 关闭游标 cursor.close() # 6. 关闭数据库连接 db.close()
- 提交到数据库执行 db.commit()
- 关闭游标 cursor.close()
- 断开数据库连接 db.close()
3.数据持久化存储-MongoDB
MongoDB回顾
- 进入MongoDB命令行:mongo
- 常用命令
- show dbs 查看所有库
- use 库名 切换到指定库
- show collections 查看当前库中的所有集合
- db.集合名.find().pretty() 查看当前库中文档
- db.集合名.count() 统计集合中文档的数量
- db.集合名.drop() 删除集合</