Python数据持久化存储实现方法分析


Posted in Python onDecember 21, 2019

本文实例讲述了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 的进程管理工具supervisor使用指南
Sep 18 Python
获取python的list中含有重复值的index方法
Jun 27 Python
Python中的Django基本命令实例详解
Jul 15 Python
PyQt5 实现字体大小自适应分辨率的方法
Jun 18 Python
python多进程下实现日志记录按时间分割
Jul 22 Python
详解Django定时任务模块设计与实践
Jul 24 Python
Python编程学习之如何判断3个数的大小
Aug 07 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
Sep 26 Python
Python网络爬虫信息提取mooc代码实例
Mar 06 Python
Pytest实现setup和teardown的详细使用详解
Apr 17 Python
python爬虫请求库httpx和parsel解析库的使用测评
May 10 Python
Python matplotlib绘制雷达图
Apr 13 Python
python cv2截取不规则区域图片实例
Dec 21 #Python
Python lxml模块的基本使用方法分析
Dec 21 #Python
python Manager 之dict KeyError问题的解决
Dec 21 #Python
tornado+celery的简单使用详解
Dec 21 #Python
Python selenium的基本使用方法分析
Dec 21 #Python
Flask框架搭建虚拟环境的步骤分析
Dec 21 #Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 #Python
You might like
linux中cd命令使用详解
2015/01/08 PHP
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
JavaScript模拟push
2016/03/06 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
ES6解构赋值实例详解
2017/10/31 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
Vue Element校验validate的实例
2020/09/21 Javascript
跟老齐学Python之Python安装
2014/09/12 Python
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
答题辅助python代码实现
2018/01/16 Python
tensorflow获取变量维度信息
2018/03/10 Python
对python模块中多个类的用法详解
2019/01/10 Python
python颜色随机生成器的实例代码
2020/01/10 Python
Python读写锁实现实现代码解析
2020/11/28 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
最新的咖啡店创业计划书
2013/12/30 职场文书
小学母亲节活动方案
2014/03/14 职场文书
环保守法证明
2015/06/24 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP
Java常用函数式接口总结
2021/06/29 Java/Android