ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

【Python项目实战】项目·桌面天气查询:requests + tkinter + 免费API

【Python项目实战】项目·桌面天气查询:requests + tkinter + 免费API 之前的项目都在你自己的电脑里转。今天不一样:你的程序将第一次伸出手,握住整个互联网——输入城市名,拿回真实的实时天气。🎯本篇成品:一个有窗口的天气查询工具。requests首次登场,tkinter首次登场,两个“第一次”一晚搞定,含注释130行左右。📌 太长不看版(给想快速上手的你)项目信息一句话说明项目名称桌面天气查询工具代码行数~130行(含注释)依赖requests(第三方,需安装)+tkinter(标准库,自带)API服务Open-Meteo(免费、无需注册、无需API Key)核心功能输入城市名 → 实时气温/风速/天气描述上屏跑起来的命令python main.py做完你能得到第一个联网的、有界面的、能容错的程序一、两分钟概念课:API到底是什么API(应用程序接口)听着玄,其实就一个餐厅比喻:概念比喻说明API取餐窗口你不进厨房(人家的数据库),把点菜单递进窗口,端出来一盘菜URL去哪家店你要访问的地址参数(params)点菜单告诉API你要什么(城市名、单位等)timeout愿意等多久超时就不等了,避免程序卡死JSON端出来的菜第7篇学的JSON知识,今天正式上岗🤔 为什么选Open-Meteo?理由说明✅ 不需要注册省去繁琐步骤✅ 不需要API Key没有“密钥忘了藏”的风险✅ 非商业用途免费每天1万次调用额度(以官网说明为准),教学场景完全够用💡 教学场景的最优解——门槛最低,跑通最快。二、成品预览一个朴素但完整的窗口:输入城市 → 点“查询”(或直接按回车)气温、风速、天气描述上屏查不到城市、断网、超时,各有友好提示三、前置知识:今天要认识的三样东西工具来源一句话介绍requests第三方,需安装发HTTP请求的事实标准库,本篇只学三个技能tkinter标准库自带Python官方GUI库,Windows/macOS开箱即用(Linux需装python3-tk)Open-Meteo免费网络服务天气数据API,两个接口:城市名→经纬度、经纬度→天气📚 requests本篇用到的全部方法作用requests.get(url, params={...}, timeout=10)发GET请求.json()把响应内容从JSON变成Python字典raise_for_status()状态码不是2xx就报错,不带病运行📚 Open-Meteo两个接口的本篇用法接口用途关键参数地理编码城市名 → 经纬度?name=杭州count=1language=zh天气经纬度 → 天气?latitude=30.29longitude=120.16current_weather=truetimezone=auto四、第0步:setup1. 新建文件夹 weather_gui,VSCode打开 2. python -m venv venv 激活venv 3. git init + .gitignore 4. pip install requests 5. pip freeze requirements.txt💡 tkinter不用装——它是标准库,随Python一起来。五、第1步:先在终端把API跑通(🔥本篇最重要的方法论!)🚨新手最容易犯的错:GUI和网络一把梭,出错后分不清是界面写错了还是网络挂了。正确姿势:分层验证——先在终端把数据链路完全跑通,再包GUI的壳。打开python交互环境,亲手试:importrequests# ① 城市名 → 经纬度r=requests.get(..."https://geocoding-api.open-meteo.com/v1/search",...params={"name":"杭州","count":1,"language":"zh"},...timeout=10...)r.json()["results"][0]{'name':'杭州','latitude':30.29,
返回列表