你想定期记录几个创作者的公开资料,手动打开主页、复制数字已经有点烦。搜索教程时却遇到一堆 SDK、异步任务和数据库配置,不知道从哪一步开始。
第一版可以很小:输入一个 Instagram 用户名,发送一次 TRMesh 请求,把结果保存成文件。等你看清返回内容,再决定是否做表格和定时更新。这里用普通 Python requests 库,不需要一个专用 TRMesh SDK。

先准备一个账号和一个干净的目录
挑一个你能在原平台打开的公开账号。用户名是主页地址里的标识,不是可以重复的显示昵称。新建目录,保存脚本和本地输出;如果以后要把代码推到仓库,把含个人资料的输出文件排除在提交之外。
在终端运行 python --version,确认本机可以运行 Python,再执行 python -m pip install requests。若系统使用 python3 命令,后续也统一用 python3。Windows 中使用 Python 启动器的用户可以用 py -m pip install requests,避免把依赖装到另一个环境。
密钥只在本机准备一次
这一步用于你自己开发脚本,和首页免费账号查询是两种用法。登录 TRMesh 创建开发者密钥,在本机环境变量中设置 TRMESH_API_TOKEN。不要把真实值粘到文章评论、聊天提示词或代码仓库。
脚本会从环境变量读取密钥。如果使用终端临时设置,换一个终端窗口后可能需要重新设置;如果使用系统环境变量,需要新开终端再运行。密钥缺失导致的 KeyError 发生在本机,还没有发出 API 请求。
把文末示例保存为 lookup.py
完整接口地址、参数表和可复制的 Python 代码都在后面。把参数里的示例用户名改成目标账号,不要改动 URL 的版本路径。运行 python lookup.py,先看完整响应,不急着写 payload.data.user 之类的字段链。
第一次成功的标准不是终端出现一大段 JSON,而是你能确认里面的账号就是要查的对象,并看懂它是否返回了业务错误或不可用状态。用户标识、请求标识和查询时间各有作用,不要混着用。
留一份 JSON,明天排查时不用重新猜
在示例打印响应后,可以追加下面几行,把当前结果存到本地。文件含公开资料,也应只在你的研究范围内保存,不要直接放到公开下载目录。
import json
from datetime import datetime, timezone
from pathlib import Path
snapshot = {
"observed_at": datetime.now(timezone.utc).isoformat(),
"source_url": url,
"query": params,
"response": payload,
}
Path("profile-snapshot.json").write_text(
json.dumps(snapshot, ensure_ascii=False, indent=2),
encoding="utf-8",
)
这段追加代码使用文末请求里的 url、params 和 payload,需要放在同一个脚本里、成功取得响应之后。它不保存 Authorization 请求头。重复运行会覆盖这个文件;要做历史观察时,再按日期命名,别把覆盖后的文件误当成历史记录。
出错时先看发生在哪一层
| 现象 | 先做什么 |
|---|---|
| 找不到 requests | 用运行脚本的同一套 Python 安装依赖 |
| 找不到 TRMESH_API_TOKEN | 检查当前终端的环境变量,不要把密钥打印出来 |
| 返回非成功 HTTP 状态 | 查看实际错误说明,核对权限、参数、额度或限速 |
| HTTP 成功但没有账号内容 | 检查业务状态、目标账号和可用性 |
| 请求超时 | 先确认网络与服务状态,不要立刻开启无限重试 |
日志可以记录时间、状态码和请求标识,但不要记录密钥。错误响应未说明的原因,不要仅凭一个状态码自行猜定。
确认一个账号后,再做三个账号
先顺序查询几个公开账号,每个结果带上观察时间和所属平台。提取你已经核实的字段;缺失数字留空,不要写成 0。只有两次可比较的观测都存在,才能讨论数字变化。
以后接 TikTok、YouTube 或 Reddit 时,可以复用请求、保存、错误记录这些代码,但每个平台的完整接口地址、参数和响应字段需要分别核对。“统一 REST API”让接入方式接近,不代表所有平台都有相同的粉丝、点赞或播放字段。
等这个小脚本确实节省了你的时间,再考虑定时运行、分页和并发。先有一个能看懂的结果,比先搭一个难以排错的大项目更有帮助。
选题参考:Python SDK 项目镜像及其上游说明。这里使用 requests 独立接入 TRMesh,没有将第三方包改名为 TRMesh SDK。

完整地址与参数
GET https://api.trmesh.com/openapi/api/v1/instagram/v1/fetch_user_info_by_username_v3
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
username |
string | 是 | Instagram用户名 |
可以复制的 Python 请求
安装 requests 并在环境变量中设置 TRMESH_API_TOKEN。把示例用户名或作品 ID 换成你要查询的对象。
import os
import requests
# 使用自己的 TRMesh 开发者密钥;不要将密钥写入网页。
url = "https://api.trmesh.com/openapi/api/v1/instagram/v1/fetch_user_info_by_username_v3"
params = {
"username": "instagram"
}
response = requests.get(
url, params=params, timeout=30,
headers={"Authorization": f"Bearer {os.environ['TRMESH_API_TOKEN']}"},
)
response.raise_for_status()
payload = response.json()
print(payload) # 先核对真实响应,再提取业务字段
调用接口会使用你的 TRMesh 账号额度,运行前请确认接口价格。
