实践记录

170127

读题

查看卡包,get的信息如下:

  • 合适的API
  • request模块
  • 处理API返回数据,对数据进行处理

初步了解api的情况

Google free weather api

搜索彩云天气的api http://wiki.swarma.net/index.php/%E5%BD%A9%E4%BA%91%E5%A4%A9%E6%B0%94API/v2

https://caiyunapp.com/dev_center/regist.html

大概看了一下,api的套路基本是按照规定的格式提供请求,接口返回固定的数据格式,把对应格式的内容转化为结构化的数据然后进行展示。

注册了彩云天气的开发者账号,留着备用。

了解request

Google 搜索 python request 快速上手 Requests: HTTP for Humans

问题 python2 已经安装了requests,但是python3无法调用。 Google"python2 have requests but python3 cannot"Importing requests module does not work 修改代码为:

pip3 install requests

问题解决

requests理解

简单看了一下官方文档,写的还是蛮清楚,通过requests来传递各种参数,获得反馈信息。

可能出现的问题:

  • 输入中文如何转换为英文,有没有直接接收中文的API

170128

测试彩云天气的API 失败,总是报错。

使用其他的天气API,,直接调整链接还是报错。注册后加上了APPID,链接可以直接显示对应的数据内容。 http://openweathermap.org/current,尝试国内的城市

傻傻分不清楚post和get Google"python requests difference between post and get"

尝试程序使用 总是报错,最后发现是https的问题,去掉s正常。

仔细看了API说明,尝试了以中文、html等形式的内容输出,查看了大致的效果。

下面是将得到的内容保存下来进行数据化,为了检验之前的学习成果,尝试做两个步骤:

  • 存到一个临时文件中
  • 直接把内容存入到字典中

报错 http://stackoverflow.com/questions/33054527/python-3-5-typeerror-a-bytes-like-object-is-required-not-str

顺利存储

解决数据读取问题 利用requests.json可以直接获得字典数据 或者获得requests.text,利用json.loads获得字典数据 http://stackoverflow.com/questions/21802749/parsing-complex-and-changing-json-data-in-python-several-levels-deep

https://docs.python.org/3/library/json.html

如何通过输入的中文转换为英文 Google"how to transfer chinese character to pinyin by python" 找到了开源包还有这个xpinyin

安装出了一点问题,要用pip3而不是pip。

问题:输入的中文如何定位到英文的城市名称 Google"python chinese city name transfer to english" Is there a translation API service for Chinese to English?

geo name database (city, points of interest)

想到的办法:

  1. 找一些API直接转换
  2. 程序转换为拼音
  3. 维护一张字典数据

回到作业上

拷贝了Chap2的作业内容,发现需要修改的主要是输入后判断的函数。 新建了函数,把需要判断的数据传过来,函数写了一个大概,可以正常运行。 下面需要考虑异常值的处理,这里有两个需要考虑

  • 通过api传过去之后没有对应数据
  • 输入的本身有问题

感受:测试很重要,除了正常数据的测试,还需要更多的异常数据测试

下一步行动

  • 查看github的API文档,尝试做一些导入导出功能
  • 优秀实践ch2 GUI 点评区

results matching ""

    No results matching ""