8分钟

任务 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实例右侧的 【登录】 按钮。

展示登录方式的选择界面,建议选择 【标准登录方式】 :

4-1-1 登录Linux实例

填写登录密码并完成CVM实例的登录后,将会进入CVM实例的终端界面:

4-1-2 Linux终端界面

此界面展示了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终端交互界面,界面展示效果如下:

4-1-3 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编辑器。

4-1-4 保存并退出Vim编辑器

此文件作为运行项目的主程序,其中不涉及具体的逻辑功能代码,学员可以根据代码中的注释简单理解,下面的几步中,将会具体介绍每一部分的功能实现代码。

至此,实验环境的配置操作已经完成。