查看: 326|回复: 2

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

[复制链接]
本帖最后由 hockel 于 2020-5-29 18:30 编辑

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

前言

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

准备阶段

一、申请天行数据API

202005293431..png
为什么选择天行数据呢?
正如它主页写的那样:接口标准统一、简单易用。拥有丰富的api接口(eg:微信接口、图文类接口、生活类接口、娱乐类接口、功能类接口、知识类接口等)
202005298337..png
首先我们需要在天行数据官网注册一个账户(如果有账户的,直接登录即可)。
202005292041..png
注册好一个账户后,回到首页,在搜索栏输入:励志古语
202005296583..png
我们点击申请接口,这里我已经申请了,就不在演示了
202005298757..png
接口调用问题
202005296826..png
如上图中接入信息,写明了接口地址:http://api.tianapi.com/txapi/lzmy/index和请求方式支持get/post,get方式你可以理解为,可以直接在接口地址后面拼接请求参数来传递信息。 第一个参数以英文?号开头,后面的参数以&符号开头。

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

其中key的参数值,是个人中心顶部的API KEY。
我们点击在线测试后、点击测试请求。
202005294560..png
就可以看到界面上看到返回了一个json的数据(里面就有我们想要的励志古语信息、解释及出处)。
天行数据接口默认返回的数据格式为json,字符编码为utf8,传递参数的编码类型content-type为application/x-www-form-urlencoded,在每个接口的接口文档页面在底部,有常见编程编程语言的调用代码可以参考.
202005296862..png
二、什么是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请求与相应内容积木块:如下所示:
202005298238..png
202005292454..png

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

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

{"code":200,
"msg":"success",
"newslist":[
        {"saying":"人生自古谁无死,留取丹心照汉青。",
        "transl":"自古以来,谁都难免会死的,那就把一片爱国的赤胆忠心留在史册上吧!",
        "source":"过零丁洋"}
        ]
}

任务二、数据的筛选
1、先来获取json中newslist所对应的值,返回的是一个列表
202005297136..png
2、定义一个字典赋值列表newslist中的第一项。
202005298350..png
3、定义一个变量Sayi获取字典msg中saying键所对应的值。(励志古语部分)
202005298514..png
4、定义一个变量transl来获去获取字典msg中transl键所对应的值。(古语翻译部分)
202005293154..png
5、定义一个变量Source来获去获取字典msg中source键所对应的值。(古语出处部分)
202005296565..png
之后键获取的数据打印出来。
完成程序如下:
202005292231..png
实验效果:
202005296468..png
任务三、将筛选出来的数据显示在掌控板上。

202005294379..png
在主程序加入显示部分即可。有个问题:就是如果翻译字数过长它会自动覆盖之前显示的内容,如造成乱码的现象。
实现效果:
20200529105609195.gif
更多教程歡迎浏览个人博客:www.hockel.club

rzyzzxw  版主

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

技术达人啊
回复

使用道具 举报

gada888  版主

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

有意境
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail