知用网
柔彩主题三 · 更轻盈的阅读体验

Python调用API实战:3个接地气的小例子

发布时间:2026-01-23 21:10:32 阅读:46 次

你在查天气、抓豆瓣电影评分、或者把微信消息自动发到钉钉,背后很可能就是 Python 在悄悄调用 API。API 不是玄学,它就像一家餐厅的点餐窗口——你递个单子(请求),对方回你一盘菜(数据)。下面用三个真实能跑的实例,带你亲手试试。

1. 查今天北京的天气

用免费的 OpenWeatherMap API,注册个账号拿个 key(免费版够用),就能查。

import requests

api_key = "你的key放这里"
city = "Beijing"
url = f"https://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"

response = requests.get(url)
data = response.json()

if response.status_code == 200:
temp = data["main"]["temp"]
desc = data["weather"][0]["description"]
print(f"北京当前温度:{temp}°C,天气:{desc}")
else:
print("查不到,可能 key 错了或城市名拼错了")

运行后,屏幕上直接打出“北京当前温度:24.6°C,天气:clear sky”。换个城市名,比如 "Shanghai",立马就能切到上海。

2. 获取豆瓣最新电影 Top 5

豆瓣开放过短时可用的公开接口(注意:非官方长期支持,仅作学习演示),我们用 requests 拿前5条片名和评分:

import requests

url = "https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=5&page_start=0"

headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
}

res = requests.get(url, headers=headers)
if res.status_code == 200:
subjects = res.json()["subjects"]
for i, m in enumerate(subjects, 1):
print(f"{i}. {m['title']} —— {m['rate']}分")

跑出来大概是:
1. 流浪地球2 —— 7.9分
2. 热辣滚烫 —— 7.5分
……
注意加 headers,不然豆瓣会直接返回 403。

3. 微信机器人发通知(企业微信)

公司用企业微信的,可以自己写脚本把日报、错误日志一键推到群里。先在后台创建一个自定义机器人,复制 webhook 地址:

import requests
import json

webhook = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的key"

data = {
"msgtype": "text",
"text": {
"content": "【Python提醒】定时任务已执行完毕 ✅\n共处理订单 127 条,失败 0 条。"
}
}

requests.post(webhook, data=json.dumps(data), headers={"Content-Type": "application/json"})

保存成 .py 文件,双击或用 crontab 定时跑,群聊里就真有消息弹出来了。

这几个例子没用高深框架,只靠 requests + 基础语法,装好 Python 和 requests 库(pip install requests)就能跑通。API 调用的核心就三步:拼对地址、带对参数(有时要 header 或 token)、解析返回的 JSON。多试两次,比看十篇教程都管用。