*打卡—>什么是云数据库&&沙箱实验如何用python和数据库来爬虫?

原创 收藏 评论
举报 2022-08-17

【摘要】 本文简单的介绍了什么是云数据库以及云数据库的实战

简介:

云数据库是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等优势。

企业伴随着业务的增长,成倍增长的数据需要更多的存储空间,此时,云数据库有助于应对许多这些数据库方面的挑战。

让用户能够在云中轻松设置、操作和扩展关系数据库,并可以充分结合公有云中的计算、网络与存储服务,从而以一种安全、可扩展、可靠的方式,迅速选择、配置和运行数据管理基础设施,使用户能专注于自身应用程序和业务。

RDS是关系型数据库(Relational Database Service),一种基于云计算的可即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型云数据库服  务。

虽然客户可以在云服 务器上自建MySQL,而其也会带有部分云特性:数据高可靠性保障、弹性扩展、基础运维等。但与在云服 务器自建数据库相比,RDS为单位提供更多的自动化服 务,如:数据库自动备份、IP白名单、详细的实时监控、容灾、读写分离等,还避免了云服 务器带来的异常,如云服 务器CPU偶尔会被mysql进程拉到100%。华云数据RDS提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,支持将本地数据库迁移到RDS,平滑完成数据库的迁移工作,彻底解决数据库运维的烦恼。

云数据库的特性有:实例创建快速、支持只读实例、故障自动切换、数据备份、Binlog备份、访问白名单、监控与消息通知。

由此可知道两者的不同,拿华为云来比较说明:

1.在服务可用性方面和数据可靠性来说,华为云提供的云数据库RDS是99.95%可用的;而在自建数据库服务中,需自行保障, 自行搭建主从复制,自建RAID等。

2.华为云数据库RDS可防DDoS攻击,流量清洗,能及时有效地修复各种数据库安全漏洞;而在自购服务器搭建的传统数据库,则需自行部署,价格高昂,同时也需自行修复数据库安全漏洞。

3.华为云数据库RDS可自动为数据库进行备份,而自购服务器搭建的传统数据库需自行实现,同时需要寻找备份存放空间以及定期验证备份是否可恢复。

4.华为云数据库RDS无需运维,而传统数据库需招聘专职DBA来维护,花费大量人力成本。

5.华为云数据库RDS即时开通,快速部署,弹性扩容,按需开通,而传统数据库需硬件采购、机房托管、部署机器等工作,周期较长。

6.华为云数据库RDS按实际结算,100%利用率,而自购服务器搭建的传统数据库需考虑峰值,资源利用率很低。

通过上述比较可以看出,云数据库RDS产品是高性能、高安全、高可靠、便宜易用的数据库服务系统,并且可以有效地减轻用户的运维压力,为用户带来安全可靠的全新体验。

 

赶上618还有新人特惠哦!

https://activity.huaweicloud.com/dbs_Promotion/index.html?fromacct=95c72a23-0dea-4f54-847a-6f765578ea3f&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905

实验:

1:准备环境

1.1预置环境

点击上方的预置环境按钮  约等待3分钟后语置成功

 

环境预置会生成资源:名称为“python-spider”的弹性云服务器ECS、创建配置相关的VPC、共享带宽,弹性公网IP、安全组。

1.2.登录华为云进入【实验操作桌面】,打开Chrome浏览器,首次可自动登录并进入华为云控制台页面

 

1.3.创建云数据库RDS

在已登录的华为云控制台,展开左侧菜单栏,点击“服务列表”->“数据库”->“云数据库 RDS”进入云数据库RDS控制台。

点击“购买数据库实例”。

计费模式:按需计费;

② 区域:华北-北京四;

③ 实例名称:自定义,如rds-spider;

④ 数据库引擎:MySQL;

⑤ 数据库版本:5.7;

⑥ 实例类型:单机;

⑦ 存储类型:SSD云盘;

⑧ 可用区:可用区二;

⑨ 时区:UTC+08:00;如下图所示:

 

性能规格:通用型,2核 | 4GB;

② 存储空间:40GB;

③ 硬盘加密:不加密;

④ 虚拟私有云:选择预置环境预置的虚拟私有云;

⑤ 内网安全组:选择预置环境预置的内网安全组;

⑥ 数据库端口:默认(3306);

⑦ 设置密码:现在设置;

⑧ 管理员密码:自定义,如rIDM7g4nl5VxRUpI(请牢记设置的密码);

⑨ 参数模板:默认;

⑩ 购买数量:1;

⑪ 只读实例:暂不购买;

如下图所示:

 

 

点击“提交”完成购买->点击“返回云数据库RDS列表”可查看到正在创建的云数据库RDS,约等待【4-6分钟】数据库状态变为“正常”,说明数据库创建完成,如下图所示

 

1.4.创建数据库及数据库表点击云数据库RDS“rds-spider”进入详情页,在左侧导航栏,单击“连接管理”->“公网地址”->单击“绑定”->“确定”。如下图所示:

 

弹性公网IP绑定完成,点击“登录”,输入用户名:root,密码:创建云数据库RDS时设置的密码,如下图所示:

 

点击“登录”进入数据库列表,然后点击“+新建数据库”,数据库名称为“vmall”,点击“确定”,完成数据库创建,如下图所示

 

在新建的数据库右侧点击“新建表”,如下图所示:

 

进入数据库“vmall”的表管理页,点击“+新建表”,表名:“product”,其他参数默认,点击“下一步”如下图所示:

 

添加3个字段分别如下:

①列名id,类型int,长度11,勾选主键,扩展信息如下图(id自增长);

②列名title,类型varchar,长度255,勾选可空;

③列名image,类型varchar,长度255,勾选可空。

 

设置完成点击“立即创建”,弹出SQL预览页面,如下图所示:

 

点击“执行脚本”完成表创建。

2. 查看目的网页并编写爬虫代码

洞察目的网页在【实验操作桌面】浏览器新建tab页,输入华为商城地址并访问:https://sale.vmall.com/huaweizone.html,在打开的页面选择一件商品打开商品详情页,如下图所示:

 

按“F12”查看网页元素,选择“鼠标跟随”按钮查看元素,然后点击网页中某个元素,可以看到源码界面显示了此元素对应的源码片段,从该源码片段中找到元素class或是id属性,如下图所示:

 

2.2

切换到【实验操作桌面】,打开“Xfce终端”,依次执行以下命令在桌面新建项目文件夹。

命令如下:

cd Desktop

scrapy startproject vmall_spider

cd vmall_spider

scrapy genspider -t crawl vmall "vmall.com"

执行成功如下图所示:

启动“Pycharm”,启动成功点击“File”->“Open”,选择创建的项目“vmall_spider”如下图所示:

 

点击“OK”->“This Window”完成项目导入。

2.3

编写爬虫代码在项目

“vmall_spider”->“spiders”下,双击打开“vmall.py”文件,删除原有代码,写入以下代码:

import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from vmall_spider.items import VmallSpiderItem class VamllSpider(CrawlSpider): name = 'vamll' allowed_domains = ['vmall.com'] start_urls = ['https://sale.vmall.com/huaweizone.html'] rules = ( Rule(LinkExtractor(allow=r'.*/product/.*'), callback='parse_item', follow=True), ) def parse_item(self, response): title=response.xpath("//div[@class='product-meta product-global']/h1/text()").get() price=response.xpath("//div[@class='product-price-info']/span/text()").get() image=response.xpath("//a[@id='product-img']/img/@src").get() item=VmallSpiderItem( title=title, image=image, ) print("="*30) print(title) print(image) print("="*30) yield item

按“Ctrl+s”键保存,如下图所示:

双击打开“itmes.py”文件,删除原有代码,写入以下代码:

# Define here the models for your scraped items

#

# See documentation in:

# https://docs.scrapy.org/en/latest/topics/items.html import scrapy class VmallSpiderItem(scrapy.Item): title=scrapy.Field() image=scrapy.Field()

按“Ctrl+s”键保存,如下图所示:

 


本文系作者授权数英发表,内容为作者独立观点,不代表数英立场。
转载请在文章开头和结尾显眼处标注:作者、出处和链接。不按规范转载侵权必究。
本文系作者授权数英发表,内容为作者独立观点,不代表数英立场。
未经授权严禁转载,授权事宜请联系作者本人,侵权必究。
本内容为作者独立观点,不代表数英立场。
本文禁止转载,侵权必究。
本文系数英原创,未经允许不得转载。
授权事宜请至数英微信公众号(ID: digitaling) 后台授权,侵权必究。

    评论

    文明发言,无意义评论将很快被删除,异常行为可能被禁言
    DIGITALING
    登录后参与评论

    评论

    文明发言,无意义评论将很快被删除,异常行为可能被禁言
    800

    推荐评论

    暂无评论哦,快来评论一下吧!

    全部评论(0条)