本文实例讲述了Python数据持久化存储实现方法。分享给大家供大家参考,具体如下:
1、pymongo的使用
前三步为创建对象
conn = pymongo.MongoClient('IP地址',27017)
db = conn['库名']
myset = db['集合名']
myset.inset.one({})
#!/usr/bin/python # -*- coding: utf-8 -*- # @Time : 2019/6/26 8:56 # @Author : ##### # @Site : # @File : 猫眼电影_mongo存储.py # @Software: PyCharm from urllib import request import re import time import pymongo class MaoyanSpider(object): def __init__(self): self.headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5221.400 QQBrowser/10.0.1125.400'} #用来计数 self.page=1 #连接对象 self.coon =pymongo.MongoClient('locslhost',27017) #创建库对象 self.db=self.coon['maoyaodb'] #集合对象 self.myset=self.db['top100'] def get_page(self,url): req = request.Request(url,headers=self.headers) res = request.urlopen(req) html = res.read().decode('utf-8') self.parse_page(html) def parse_page(self,html): p = re.compile( '<div class="movie-item-info">.*?title="(.*?)".*?class="star">(.*?)</p>.*?class="releasetime">(.*?)</p>',re.S) r_list = p.findall(html) self.write_mongo(r_list) def write_mongo(self,r_list): for r_t in r_list: d={ '电影名称:':r_t[0].strip(), '电影主演:':r_t[1].strip(), '上映时间:':r_t[2].strip() } #插入数据库 self.myset.inset.one(d) def work_on(self): for pn in range(0,41,10): url = 'https://maoyan.com/board/4?offset=%s' % str(pn) self.get_page(url) print('第%d页爬取成功' % self.page) self.page += 1 time.sleep(4) if __name__ == '__main__': begin = time.time() spider = MaoyanSpider() spider.work_on() end = time.time() print("执行时间%.2f" % (end - begin)) #注不完美,仍然需修改
2、mysql的使用
Mysql-front可视化工具,建库建表添加字段
1、创建连接对象:db = pymysql.connet
2、创建游标对象:cursor = db.sursor
3、执行命令:cursor.execute()
4、提交到数据库执行
5、关闭:cursor.close
mysql-Front使用流程
1、创建数据库:
localhost--数据库--新建---数据库
数据库名改为maoyan (项目mysql库名)--- 字符集utf8 ---确定
2、创建表:
流程:选中maoyao数据库 --选中数据 ----新建 ----出现添加菜单 ---名称改为top100 ---创建成功
3、往表格中添加字段:
流程:选中top100表单 --- 数据库 ----新建 ----字段 ---出现添加界面 ----名称改为name ---默认varchar ---- 长度50 --确定
用同样的方法穿件字段star和time
ID一般设置为int 长度视情况而定
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
主要内容:一、数据持久化,二、持久化的形式,三、源码分析,四、总结一、数据持久化 redis做为一种内存型数据库,做持久化,个人感觉略有鸡肋的意思。似乎有一种,别人有,自己不有也不行的感觉。以目前Redis主流的应用方式,如果仔细分析,基本上都是在内存中即可完成,对持久化没要求或者说不大。再举一个反例,如果内存中有几百G甚至更多的数据,真要是整体当机,恢复的时间基本就是灾难。 目前基本应用仍然是以关系型数据库或者其它数据库(如Hadoop,Mysql等)为持久化
目的 配置 NFS 共享为 OpenShift 节点提供存储,并且配置 OpenShift 持久卷以绑定至数据库 Pod。 环境 openshift v3.11.16/kubernetes v1.11.0 步骤 配置 NFS 共享持久卷1. 登录到 NFS 服务器 # ssh nfs.example.com2. 创建 config-nfs.sh 脚本,内容如下 #!/usr/bin/sh exp
本平台是通过storageclass来动态创建PV。也就是说咱们依赖于storageclass,如果您的Kubernetes不支持相应的存储试,将无法非常方便的进行挂载。 目前暂不支持挂载多个PVC,或许以后会更新吧。 这里演示的是用的NFS进行演示,实际使用时可根据自己的需求配置相应的provisioner,其他配置是一样的不需要调整,只需要在“模版管理” 调整StorageClass和Pers
本文向大家介绍Flutter持久化存储之数据库存储(sqflite)详解,包括了Flutter持久化存储之数据库存储(sqflite)详解的使用技巧和注意事项,需要的朋友参考一下 前言 数据库存储是我们常用的存储方式之一,对大批量数据有增、删、改、查操作需求时,我们就会想到使用数据库,Flutter中提供了一个sqflite插件供我们用于大量数据执行CRUD操作。本篇我们就来一起学习sqflite
本文向大家介绍vuex实现数据状态持久化,包括了vuex实现数据状态持久化的使用技巧和注意事项,需要的朋友参考一下 用过vuex的肯定会有这样一个痛点,就是刷新以后vuex里面存储的state就会被浏览器释放掉,因为我们的state都是存储在内存中的。 所以我们通过 vuex-persistedstate这个插件,来实现将数据存储到本地 用法很简单 1、 2、 以上这篇vuex实现数据状态持久化就
本地持久化卷允许用户通过标准 PVC 接口以简单便携的方式访问本地存储。PV 中包含系统用于将 Pod 安排到正确节点的节点亲和性信息。 一旦配置了本地卷,外部静态配置器(provisioner)可用于帮助简化本地存储管理。请注意,本地存储配置器与大多数配置器不同,并且尚不支持动态配置。相反,它要求管理员预先配置每个节点上的本地卷,并且这些卷应该是: Filesystem volumeMode(默