python开发一个web项目得需要多少行代码_用Python写个迷你出门问问|10几行代码搞定...
这是菜鸟学Python的第71篇原创文章
上一篇讲了JSON文件的用法,小伙伴们感觉好像写的很不过瘾,后台有好几个小伙伴问我能不能再写一篇,其中还有两个小伙伴给我留言,问我什么是Web Api,好今天我会解释一下,同时利用百度开放的API写一个简单的出门问问,算是进一步趣味学JSON文件.
1.什么是Web API
Web API是网络应用程序接口,包含了广泛的功能,其中的大部分均可以通过API(应用程序编程接口)访问.现在的网络上,有大量的Web服务和应用,会给我们提供各种各样的服务,比如国外的Yahoo,Google,国内的百度,阿里都有大量的API可以让我们调用
一般返回的数据是以JSON格式为主(CSV,XML也可以),大部分都需要提供key和secret来保证其使用的安全性
而且有一些API的访问是比如违章啊,快递查询,按照次数收费的
今天我们就来写一个迷你版的出门问问的小程序,出门问问最主要的需要提供:目的地的天气
目的地的旅游景点
目的地的美食
目的地的好玩的
2.申请百度开发者账号
1).调用百度Web API 之前,先要去申请一个开发者的账户:
然后再去申请一个密钥
2).创建应用,填入一些资料
我们可以选择最简单的微信小程序 应用类型,然后提交之后就会获得一个key
3.天气查询程序
1).构造天气查询URL
需要填入申请的key和城市名字(中文,拼音都可以)
2).利用requests模块取获取网站上的数据
import request
response=requests.get(url)
weather_dicts=response.json()
我们把网站的JSON数据转化成字典,但是JSON数据很复杂,嵌套非常多,一坨一坨的。为了解决这个问题,我建议大家最好用pprint模块
3).利用pprint模块
这个号称Python里面的美观打印机,可以用于生成数据结构的一个美观视图。让人可以非常直观清晰的看到这个数据的结构,非常方便,而且还会把键值按照字母排序,真是是居家旅行必备啊~~
pprint(weather_dicts)
4).显示天气信息
所有的天气信息都在weather_dicts下面的result键值下面(大家运行一下pprint(weather_dicts)就看的很清楚了),而这个result又是一个巨大的列表,列表里面有一个字典,这个字典包含了城市名,PM2.5,未来4天的天气数据等等.
幸好有pprint,不然看的头都晕, 我们只需要提取一些重要的信息就可以了.
weather_data=weather_dicts['results'][0]['weather_data']
print weather_dicts['results'][0]['currentCity']
for each_item in weather_data:
print each_item['date']
print each_item['temperature']
print each_item['weather']
print each_item['wind']
运行一下程序:
啊呀是不是很爽,上海4天的天气都出来了.我们可以在程序的入口加一个city参数,这样可以获取全国各地的天气,比如你输入北京,广州,武汉,青岛...
4.查询热门城市旅游景点,美食,好玩的
下面我们再来增加一个功能,就是查询热门城市的一些信息,比如我们去哪里玩,想查一些饭店,酒店的信息,有那些好玩的,好吃的~~,代码跟查询天气很类似
1).同样构造查询Place的URL
2).用pprint模块打印一些数据结构,然后获取信息
pprint(places_dicts),type(places_dicts)
这里加了一些判断条件,因为有一些饭店或者景点不一定有电话和地址,所以在获取之间,先判断一下key在不在字典里面,不然会报错的
3).运行一下程序
search_place(hot_place="旅游",city="上海")
输入:
search_place(hot_place="饭店",city="上海")
search_place(hot_place="好吃的",city="上海")
会返回上海的一些饭店信息和好吃的资料
用Python做个迷你的出门问问就讲到这里,是不是觉得蛮好玩的,其实上面的代码还是比较糙的,只是抛砖引玉,有兴趣的同学可以动手试一下,而且利用微信公众号的接口可以做一个更全更好玩的出门问问,今天的文章希望能给初学者一些启发,若有什么不懂的,也可以留言跟我探讨交流.
欢迎大家关注微信公众号 【菜鸟学Python】,更多好玩有趣的Python原创教程,趣味算法,经验技巧,行业动态,尽在菜鸟学Python,一起来学python吧
历史人气文章
python开发一个web项目得需要多少行代码_用Python写个迷你出门问问|10几行代码搞定...相关推荐
- 如何用python写查询名字程序_用Python写个迷你出门问问|10几行代码搞定
上一篇讲了JSON文件的用法,小伙伴们感觉好像写的很不过瘾,后台有好几个小伙伴问我能不能再写一篇,其中还有两个小伙伴给我留言,问我什么是Web Api,好今天我会解释一下,同时利用百度开放的API写一 ...
- asp.net web开发框架_用Python开发一个Web框架
一.Web框架 首先我们今天要做的事是开发一个Web框架.可能听到这你就会想.是不是很难啊?这东西自己能写出来? 如果你有这种疑惑的话,那就继续看下去吧.相信看完今天的内容你也能写出一个自己的Web框 ...
- python编程计算器_Python学习笔记:用Python开发一个计算器项目
最近抽空看了下python的学习文档,发现开发工具以及资料支持对开发者相当的友好,相比之下,以前用TCL&Tk做的项目主要缺点有两个:1,开发难度大,调试手段只有靠print一种,而且语法错误 ...
- 如何用Jsp开发一个web项目
我最近用jsp代码来实现web项目,jsp虽然在应用中不是特别流行,但是用起来还是比较方便的,我总结了两种jsp通过网页上修改数据实现在数据库中的数据的增删改. 首先简单的介绍一下jsp:JSP(全称 ...
- 用python设计一个简易的英汉互译界面_使用python一步一步搭建微信公众平台(二)----搭建一个中英互译的翻译工具...
距离上次写使用python一步一步搭建微信公众平台(一)已经有几个月了,当中自已也搭建了一个中英文互译的小应用,可是由于英文翻中文好弄,中文翻译成英文一直有问题,知道是编码的问题,但是一直搞不定,于是 ...
- python中一个字符视为长度为1的字符串_【Python】笔试题知识点小结(1)
题目来源:牛客网 今天开始复习巩固一下基础知识点- 蓝色表示题干,红色表示答案,黑色表示知识点. 1.下列代码的运行结果是? print 'a' < 'b' < 'c'True 1)pyt ...
- python生成一个包含20个随机整数的列表_在python中,如何生成一个范围内的随机整数,不包括列表中的一些数字?...
您可以使用函数将整数范围映射到相同的整数范围,但有例外,如下所示:import random def excection(val, exceptions): ''' Maps range of val ...
- Python开发一个股票类库
前言 使用Python开发一个股票项目. 项目地址: https://github.com/pythonstock/stock 相关资料: http://blog.csdn.net/freew ...
- python开发的著名软件公司_软件开发公司_软件外包_项目外包平台基于Python开发一个全文检索系统...
基于Python开发一个全文检索系统.功能要求为: 使用全文检索引擎对文本进行检索.文本的格式为Word.PDF.TXT. 同时按数据域进行复合条件检索.数据域指文本对应的信息,例如创建人.文件编号. ...
最新文章
- python类的继承--------类的基础(四)
- NetBeans IDE 7.0 Beta 发布
- 【公司金融课堂学习笔记】2、企业融资—风投如何影响企业价值
- 计划策略-20-订货型生产
- 微服务框架Go-Micro集成Nacos实战之服务注册与发现
- 使用GoldenGate进行平台迁移和数据库升级(9i-11g)步骤描述
- junit 预期错误_谨慎使用JUnit的预期异常
- 学习嵌入式和单片机有没有必要,价值体现在哪
- Python进阶(一)Python中的内置函数、内置方法、私有属性和方法详解
- larvel mysql count,Laravel带条件查询多个count
- 熟练运用计算机的重要性,计算机*实习目的和意义
- 搭建一个个人网站需要多少钱预算?
- JavaMail实现邮件的发送
- 数字化转型浪潮 金融科技公司如何扮演“引路人“角色?
- (CodeForce) C. Edgy Trees (并查集)
- 【人工智能】新一代人工智能发展白皮书
- Kafka源码分析10:副本状态机ReplicaStateMachine详解 (图解+秒懂+史上最全)
- 2021年终总结,我躺平了
- scipy butter 滤波器实现
- 西湖,一首荡漾千年的华章