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使用新浪微博API发送微博的例子
Apr 10 Python
web.py在SAE中的Session问题解决方法(使用mysql存储)
Jun 24 Python
pygame加载中文名mp3文件出现error
Mar 31 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
python中列表和元组的区别
Dec 18 Python
浅谈python 读excel数值为浮点型的问题
Dec 25 Python
django的ORM模型的实现原理
Mar 04 Python
TensorFLow 不同大小图片的TFrecords存取实例
Jan 20 Python
python序列类型种类详解
Feb 26 Python
Python3 shelve对象持久存储原理详解
Mar 23 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
Apr 26 Python
python request 模块详细介绍
Nov 10 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
dedecms中使用php语句指南
2014/11/13 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
详解PHP防止直接访问.php 文件的实现方法
2017/07/28 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
js的2种继承方式详解
2014/03/04 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
python实时分析日志的一个小脚本分享
2017/05/07 Python
使用python存储网页上的图片实例
2018/05/22 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
Python类的继承用法示例
2019/01/31 Python
python求最大值最小值方法总结
2019/06/25 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
python 如何对logging日志封装
2020/12/02 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
学习群众路线的心得体会
2014/11/05 职场文书
亮剑观后感500字
2015/06/05 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
2016读书月活动心得体会
2016/01/14 职场文书