hockel 发表于 2020-5-29 11:01:20

【掌控板教程】网络编程——古语天地学习器

本帖最后由 hockel 于 2020-5-29 18:30 编辑

# 【掌控板教程】网络编程——古语天地学习器
## 前言

中国有着悠久的历史文化,其中就包括流传至今的古代名人大家、经典古籍的传世语录、这些鼓励人们的话语,让我们的生活更加积极向上、让我们更加有奋斗的动力去追求美好的生活。于是我做了这个古语天地学习器来帮助学生学习成语典故。
## 准备阶段
### 一、申请天行数据API

**为什么选择天行数据呢?**
正如它主页写的那样:接口标准统一、简单易用。拥有丰富的api接口(eg:微信接口、图文类接口、生活类接口、娱乐类接口、功能类接口、知识类接口等)

首先我们需要在[天行数据官网](https://www.tianapi.com/signup.html?source=837687307)注册一个账户(如果有账户的,直接登录即可)。

注册好一个账户后,回到首页,在搜索栏输入:励志古语

我们点击申请接口,这里我已经申请了,就不在演示了

接口调用问题

如上图中接入信息,写明了接口地址:http://api.tianapi.com/txapi/lzmy/index和请求方式支持get/post,get方式你可以理解为,可以直接在接口地址后面拼接请求参数来传递信息。 第一个参数以英文?号开头,后面的参数以&符号开头。

如:http://api.tianapi.com/wxnew/index?key=你自己的apikey

其中key的参数值,是个人中心顶部的API KEY。
我们点击在线测试后、点击测试请求。

就可以看到界面上看到返回了一个json的数据(里面就有我们想要的励志古语信息、解释及出处)。
`天行数据接口默认返回的数据格式为json,字符编码为utf8,传递参数的编码类型content-type为application/x-www-form-urlencoded,在每个接口的接口文档页面在底部,有常见编程编程语言的调用代码可以参考.`

**二、什么是json**
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据,易于人阅读和编写,同时也易于机器解析和生成,所以在互联网应用非常广泛。

在python中,json和dict非常类似,都是key-value的形式,而且json、dict也可以非常方便的通过 json 模块互转。
+ json:是一种数据格式,是纯字符串,本质是一种文件组织方式,比如您熟悉的txt、csv、doc、docx、xls、xlsx文件等。
+ dict:是一种数据结构,比如列表list、集合set、字符串str、数组array。

## 程序设计
**任务一、get请求获取天行数据啊api json数据**
打开mPython编辑器,在扩展->网络指令栏中找到get请求与相应内容积木块:如下所示:



```python
1、用网络编程模块时,需要确保掌控板连接到wifi网络。
2、添加请求地址(就是刚才我们测试的接口信息),发送get请求,获取网页第三方接口返回的数据:
3、运行程序可以看到图显示效果。
```

好了现在就是指剩下数据的筛选了,我们可以看到返回的json格式为:

```python
{"code":200,
"msg":"success",
"newslist":[
      {"saying":"人生自古谁无死,留取丹心照汉青。",
      "transl":"自古以来,谁都难免会死的,那就把一片爱国的赤胆忠心留在史册上吧!",
      "source":"过零丁洋"}
      ]
}
```
**任务二、数据的筛选**
1、先来获取json中newslist所对应的值,返回的是一个列表

2、定义一个字典赋值列表newslist中的第一项。

3、定义一个变量Sayi获取字典msg中saying键所对应的值。(励志古语部分)

4、定义一个变量transl来获去获取字典msg中transl键所对应的值。(古语翻译部分)

5、定义一个变量Source来获去获取字典msg中source键所对应的值。(古语出处部分)

之后键获取的数据打印出来。
完成程序如下:

实验效果:

**任务三、将筛选出来的数据显示在掌控板上。**


在主程序加入显示部分即可。`有个问题:就是如果翻译字数过长它会自动覆盖之前显示的内容,如造成乱码的现象。`
实现效果:

更多教程歡迎浏览个人博客:www.hockel.club

rzyzzxw 发表于 2020-5-29 20:50:43

技术达人啊

gada888 发表于 2020-5-29 21:56:52

有意境
页: [1]
查看完整版本: 【掌控板教程】网络编程——古语天地学习器