任务 1 CVM实例创建与实验环境配置
任务目的
这一步的目标是创建实验的运行环境,首先需要新建一个CVM实例,接下来会指导学员在CVM中安装所需的Python相关模块,最后会构建一个项目目录,并下载项目中所需的字体和背景文件,完成一个完整的项目框架搭建。
任务步骤
1.新建并登录CVM云服务器实例
(1)新建CVM实例。
关于新建CVM实例的详细步骤,可以参考腾讯云大学课程 使用Python生成个性二维码 中的 4.1 任务1 CVM的创建和登录 。
本实验所使用的CVM配置如下(供参考):
配置项 | 配置参数 |
---|---|
地域 | 成都 |
实例类型 | 标准型S5 |
vCPU及内存 | 1核2GB |
镜像类型 | 公共镜像CentOS7.6 64位 |
公网带宽 | 1Mbps |
安全组 | 放通22,80,443,3389端口和ICMP协议 |
(2)登录CVM实例。
在实例列表界面,点击CVM实例右侧的 【登录】 按钮。
展示登录方式的选择界面,建议选择 【标准登录方式】 :
填写登录密码并完成CVM实例的登录后,将会进入CVM实例的终端界面:
此界面展示了Linux的交互终端,对CVM进行的操作可以直接在此界面中进行。
2.安装Python相关模块
(1)安装Python3。
执行以下命令,安装Python3(会同时安装pip3):
yum -y install python3
安装完成后可以看到类似下方的提示信息:
Installed:
python3.x86_64 0:3.6.8-10.el7
Dependency Installed:
python3-libs.x86_64 0:3.6.8-10.el7
python3-pip.noarch 0:9.0.3-5.el7
python3-setuptools.noarch 0:39.2.0-10.el7
Complete!
注:具体的软件版本号可能会有差别,但不会影响实际的运行结果。下同。
安装Python3会同时安装一些相关的依赖包,比如pip,接下来安装Python模块的操作,也将会通过pip命令实现。
(2)安装requests模块。
执行下方命令,安装requests模块:
pip3 install requests
此模块用于访问页面并获取请求结果。
(3)安装lxml模块。
执行下方命令,安装lxml模块:
pip3 install lxml
此模块用于解析页面,并根据XPath指令获取相应的页面内容,如URL地址或新闻内容。
(4)安装jieba模块。
执行下方命令,安装jieba模块:
pip3 install jieba
此模块用于对中文新闻进行分词,分词后的结果将会作为生成词云图的数据源。
(5)安装wordcloud模块。
执行下方命令,安装wordcloud模块:
pip3 install wordcloud
此模块会创建词云对象,结合用户的配置以及分词内容,制作词云图,也是本实验的的核心模块。
(6)安装imageio模块。
执行下方命令,安装imageio模块:
pip3 install imageio
此模块用于读取生成词云图所需的本地图片。
(7)安装cos-python-sdk-v5模块。
执行下方命令,安装cos-python-sdk-v5模块:
pip3 install cos-python-sdk-v5
此模块用于操作COS存储桶,在本实验中主要用于将生成的词云图上传至COS存储桶。
3.项目目录构建
(1)项目目录配置及说明。
本实验将会构建如下的项目目录:
wordcloud_demo
|-- main.py # 实验运行的主程序文件
|-- get_news.py # 获取疫情新闻的模块
|-- gen_word_cloud.py # 生成词云图的模块
|-- upload_to_cos.py # 上传词云图至存储桶的模块
|-- chinamap.png # 词云背景图片
|-- msyh.ttc # 生成词云图的字体文件
其中前四个模块是构建实验的代码模块,下面的两个文件是运行实验需要用到的资源文件。
首先执行下方命令创建并进入实验目录wordcloud_demo
:
mkdir wordcloud_demo && cd wordcloud_demo
(2)下载中文字体文件。
执行下方命令,下载中文字体文件:
wget -c https://accessory-1259416093.cos.ap-chengdu.myqcloud.com/WordCloud/msyh.ttc
此文件用于渲染词云图中的中文文字,如果项目目录下没有中文字体文件,词云图中的文字将会以乱码或方格的形式展示。
下载成功后,会展示类似下方的提示信息(下同):
2020-03-06 11:59:48 (115 MB/s) - ‘msyh.ttc’ saved [21632712/21632712]
(3)下载词云背景图片。
执行下方命令,下载词云背景图片:
wget -c https://accessory-1259416093.cos.ap-chengdu.myqcloud.com/WordCloud/chinamap.png
此图片是一张中国地图,在生成词云时会用于指定词云图的填充区域。
(4)创建主文件main.py
。
在项目目录中执行下方命令,创建项目主文件main.py
:
vim main.py
注意:如果学员长时间没有操作终端,终端界面中已经出现了
* Connection closed *
字样,说明终端已经断开了登录连接,此时按任意键可以重新登录终端。 但登录后会自动进入/root
目录,此时需要用户手动执行命令cd wordcloud_demo
进入项目目录,再执行上方的操作命令。
此时将进入Vim终端交互界面,界面展示效果如下:
接下来将在文件内粘贴功能代码。
英文输入状态下按I
键(此处文件内容为空,大小写均可)进入编辑模式,接下来复制下方的代码,在浏览器中通过 【右键】-【粘贴】 将完整的代码粘贴到文件中。
# 导入项目所需模块
import os
from get_news import save_top_news
from gen_word_cloud import gen_word_cloud
from upload_to_cos import upload_to_cos
# 获取项目所在目录
BASE_DIR = os.path.dirname(__file__)
def main():
# 保存最新的10篇新闻
filename = save_top_news(10)
# 拼接原始图像的路径字符串
img_path = os.path.join(BASE_DIR, "chinamap.png")
# 拼接保存新闻的文档路径
text_path = os.path.join(BASE_DIR, filename)
# 借助原始图像和新闻文档,执行生成词云图的操作
export_pic = gen_word_cloud(img_path, text_path)
# 上传图片至COS存储桶
upload_to_cos(export_pic)
if __name__ == "__main__":
# 执行主程序
main()
完成粘贴后,需要保存文件,按下ESC
键切换到命令模式,此模式下可以向编辑器中输入命令。在英文模式下输入:wq
后按下回车,即可保存文件,并退出Vim编辑器。
此文件作为运行项目的主程序,其中不涉及具体的逻辑功能代码,学员可以根据代码中的注释简单理解,下面的几步中,将会具体介绍每一部分的功能实现代码。
至此,实验环境的配置操作已经完成。
学员评价