You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pyinaturalist获取iNaturalist项目类群列表相关问题咨询

问题1:HTTP 414报错原因与解决

你报错的核心原因是get_taxa()的传参方式错误,你把完整的观测字典直接传入该函数,库会将整个字典序列化后拼接到GET请求的URL参数中,最终导致URL长度超出服务器限制触发414错误。
实际上get_observations()返回的每条观测结果默认已经包含了对应的类群信息,不需要额外调用get_taxa()接口查询。

问题2:调整默认返回30条的限制

pyinaturalist的观测查询接口默认单页返回30条结果,你可以通过两个方式调整:

  • 单页查询不超过200条时,添加per_page参数设置单页返回数量,最大值为200,示例:get_observations(project_id = "bad-durkheim-exkursion", per_page=200)
  • 项目观测总数超过200时,直接使用get_all_observations()函数,会自动处理分页拉取所有符合条件的观测,不需要手动翻页。

问题3:TypeError: 'NoneType' object is not subscriptable报错解决

这个错误是因为部分观测还没有完成类群识别,obs["taxon"]的值为None,你直接尝试对None取下标["name"]就会触发报错,添加判断过滤掉无类群信息的观测即可。

可直接运行的完整代码示例

from pyinaturalist import get_all_observations

# 拉取项目下所有观测
all_obs = get_all_observations(project_id="bad-durkheim-exkursion")
# 过滤无类群信息的观测后提取物种名
species_list = [obs["taxon"]["name"] for obs in all_obs["results"] if obs.get("taxon")]
# 去重获取唯一的现存类群列表
unique_species = list(set(species_list))

如果需要保留类群的阶元、学名等其他信息,可以提取完整的taxon字典而不是仅取name字段。


内容的提问来源于stack exchange,提问作者Manuel Popp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:36:01