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之大话题小函数(1)
Oct 10 Python
Python多线程和队列操作实例
Jun 21 Python
Python中.py文件打包成exe可执行文件详解
Mar 22 Python
Python实现统计给定列表中指定数字出现次数的方法
Apr 11 Python
Python实现读取机器硬件信息的方法示例
Jun 09 Python
python编写简易聊天室实现局域网内聊天功能
Jul 28 Python
基于Python 中函数的 收集参数 机制
Dec 21 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
python matplotlib实现将图例放在图外
Apr 17 Python
Django Auth用户认证组件实现代码
Oct 13 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
Nov 30 Python
python处理json数据文件
Apr 11 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
需要发散思维学习PHP
2009/06/29 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
PHP的简易冒泡法代码分享
2012/08/28 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
了解javascript中变量及函数的提升
2019/05/27 Javascript
通过说明与示例了解js五种设计模式
2019/06/17 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
Python自定义线程池实现方法分析
2018/02/07 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
python实现泊松图像融合
2018/07/26 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
Python 控制终端输出文字的实例
2019/07/12 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
如何基于python测量代码运行时间
2019/12/25 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
金宝贝童装官网:Gymboree
2016/08/31 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
花卉与景观设计系大学生求职信
2013/10/01 职场文书
大学生冰淇淋店商业计划书
2014/01/14 职场文书
中职生自荐信范文
2014/06/15 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
幼师求职自荐信
2015/03/26 职场文书
湘江北去观后感
2015/06/15 职场文书
在职证明范本
2015/06/15 职场文书
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技