基于Python搭建云数据库应用
引导式阅读
Python
基于Python搭建云数据库应用
作者
HDC.Cloud
上架时间
2023-04-07 16:49:02

Python搭建云数据库应用

您在体验过程中有任何疑问,都可以在此留言反馈>> 问题反馈

1. 介绍

什么是云数据库?

华为云数据库(RDS for MySQL)是稳定可靠、可弹性伸缩的云数据库服务。通过云数据库能够让您几分钟内完成数据库部署,云端完全托管,让您专注于应用程序开发,无需为数据库运维烦恼。

MySQL是目前最受欢迎的开源数据库之一,其性能卓越,搭配LAMP(Linux + Apache + MySQL + Perl/PHP/Python),成为WEB开发的高效解决方案。云数据库拥有即开即用、稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点。

您将体验什么?

在本次Codelab中,您将使用华为云MySQL及DAS数据管理服务,搭建云数据库应用。本实验具体是指,基于MySQL和DAS,对数据进行抓取和存储。在云数据应用搭建过程中DAS服务调用了多个RDS接口,典型的包括:管理MySQL的数据库和用户API、获取日志信息API、查询数据库规格API等等 。

数据来源:本教程示例代码爬取的是新浪微博微公益平台的微拍卖拍品信息列表。爬虫爬取的信息为拍品序号、拍品名称、起拍价和当前价,并通过数据库客户端DAS写入到MySQL数据库中。

您将学会到什么

  • 如何获取海量数据

  • 如何在云上搭建数据库

  • 如何将获取的海量数据存储到云数据库并进行数据管理

您需要什么?

开发环境及技能要求:准备开发环境

1.1 下载pycharm community版

>下载路径:https://www.jetbrains.com/pycharm/download/#section=windows 选择community版

1.2下载python2.7.15

>下载路径:https://www.python.org/downloads/release/python-2715/,选择Windows x86-64 MSI installer

1.3 安装python-2.7.15 >运行python-2.7.15.amd64.msi>Install for all users>选择目标路径,点击Next>点击Next>点击Finish 1.4 安装PyCharm >根据系统操作系统版本选择, 64位系统选择64-bit launcher, 其他勾选如下图

>勾选Run Pycharm Community **,点击Finish

>阅读完政策说明后点击Accept >点击create new project >设置Project的存储路径>点击create >点击close 1.5在pycharm中安装第三方库 >点击file>点击settings>点击project untitled1(其中untitled1为自定义的项目名)>点击 project interpreter>点击右侧的“+”号 >在搜索框中输入pymysql,选中PyMySQL,点击Install Package 出现以下提示说明安装成功,关闭该页面

2. 开始您的应用搭建过程

2.1创建云数据库实例

在华为云官网开发者疫情特惠计划领取免费套餐,或者购买MySQL数据库,选择按需计费、最小规格(2u4g)以及40g存储选项即可。

注:创建完数据库实例后,需要先设置安全组规则,再购买弹性公网IP并将数据库实例与弹性公网IP绑定

2.2使用数据库客户端DAS

>DAS可以通过以下链接免费使用https://www.huaweicloud.com/product/das.html

2.3登录华为云数据库管理页面

选择您要存储数据的实例,点击登录,跳转到数据库客户端DAS登录页面 >DAS页面中输入管理员账户名和密码,账户名可在实例信息页面查到,一般默认为root,密码为您在购买数据库实例时输入的管理员密码。

>登陆DAS后右键点击实例名>点击SQL窗口,将以下SQL语句输入编辑框中,点击执行SQL语句。

CREATE DATABASE sina; CREATE TABLE `sina`.`sina_paimai` (   `id` int(50) AUTO_INCREMENT NOT NULL,   `project_name` varchar(50) NULL,   `project_start_price` varchar(50) NULL,   `project_now_price` varchar(50) NULL,   PRIMARY KEY(`id`) ) DEFAULT CHARACTER SET = utf8, COLLATE = utf8_general_ci, ENGINE = InnoDB;

完成上述步骤后我们已经在sina中新建了一张名为sina_paimai的表,表**有四个字段,分别是id,project_name,project_start_price,project_now_price

2.4.搭建爬虫

>打开pycharm>右键点击project untitled1>点击new>点击python file 给你要创建的python程序起一个名字,点击OK. 然后把以下爬虫代码复制进你刚刚创建的python文件中,并将代码中的host、port、user、 password改成你的数据库实例公网IP、端口号、数据库账户名和密码保存就可以啦~ 爬虫代码: (此处的代码可直接点击网页右上角源码包下载按钮,参考code文件夹中提供的test.py文件)

# coding=utf-8 import pymysql import urllib2 as url import re

获取新浪微博微公益平台微拍卖第一页的源代码

html = 'https://gongyi.weibo.com/list/auction?on_state=0&theme_id=0&title=&order=hot&page=1' content = url.urlopen(html) text = content.read()

解析网页源代码,用正则表达式获取源代码中的拍品名、起拍价和当前价

project_name = re.findall(r'<a href="/auction/detail.goods_id=......">(.*?)</a></div>', text) project_start_price = re.findall(r'起拍价<em class="num">(.*?)</em>元,当前价', text) project_now_price = re.findall(r'当前价<em class="num">(.*?)</em>元', text)

连接到云数据库

connection = pymysql.connect( host='121.36.52.216', port=3306, user='root', password='SY1983119@@@', db='sina', charset='utf8', cursorclass=pymysql.cursors.DictCursor)

用sql语句把拍品名、起拍价和当前价拆入到已经建好的sina_paimai表中

try: for i in range(0, len(project_name), 1): with connection.cursor() as cursor: sql = 'insert into sina_paimai(project_name,project_start_price,project_now_price) VALUES(%s,%s,%s)' cursor.execute(sql, (project_name[i], project_start_price[i], project_now_price[i])) connection.commit() finally: connection.close()

最后点击run!

2.5在数据库客户端DAS中查看爬取的数据

>登录DAS, 在SQL窗口中输入

SELECT * FROM `sina_paimai`

,点击执行SQL就可以看到爬取的结果啦。

展示结果:如拍卖序号:1,拍品名称:春节晚会小虎队演出服-霹雳虎,起拍价:100,当前价 57680

id:拍卖序号

project_name 拍卖名称

project_start_price 起拍价  Project_now_price 当前价

3. 恭喜你

祝贺您,您已经成功地完成了云数据库应用程序搭建体验,掌握数据获取、云数据库搭建以及数据存储管理等核心功能。