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 相关文章推荐
kNN算法python实现和简单数字识别的方法
Nov 18 Python
详解在Python程序中解析并修改XML内容的方法
Nov 16 Python
python实现识别相似图片小结
Feb 22 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
Nov 22 Python
python实现远程通过网络邮件控制计算机重启或关机
Feb 22 Python
Django之模型层多表操作的实现
Jan 08 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
Jan 08 Python
matplotlib基础绘图命令之bar的使用方法
Aug 13 Python
用Python写一个简易版弹球游戏
Apr 13 Python
Python中的嵌套循环详情
Mar 23 Python
如何在Python中妥善使用进度条详解
Apr 05 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
获得Google PR值的PHP代码
2007/01/28 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
php中Array2xml类实现数组转化成XML实例
2014/12/08 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
canvas绘制七巧板
2017/02/03 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
python编写暴力破解FTP密码小工具
2014/11/19 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
TensorFlow变量管理详解
2018/03/10 Python
python3个性签名设计实现代码
2018/06/19 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
python处理RSTP视频流过程解析
2020/01/11 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
竞选团支书演讲稿
2014/04/28 职场文书
园林技术专业求职信
2014/07/28 职场文书
护士自我推荐信范文
2015/03/24 职场文书
毕业论文致谢词
2015/05/14 职场文书
婚宴父亲致辞
2015/07/27 职场文书
女儿满月酒致辞
2015/07/29 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js