首页 > 解决方案 > 使用 pyinaturalist 在 iNaturalist 区域或项目中获取分类群

问题描述

我在 iNaturalist 上设置了项目,我想获得在这些项目中找到的当前分类群的列表。我试过了:

from pyinaturalist import *

Bad_Durkheim = get_observations(project_id = "bad-durkheim-exkursion")
Species = [get_taxa(obs) for obs in Bad_Durkheim["results"]]

这导致

HTTPError: 414 Client Error: Request-URI Too Large for url: https://api.inaturalist.org/v1/taxa?q=%7B%27quality_gr...

我不确定如何使用这个 API,也许有人有解释?另外,我想知道Bad_Durkheim["results"]当有更多观察时,为什么要列出 30 个列表。如果限制为30,如何更改?

编辑

这似乎让我更进一步:

from pyinaturalist import *

Bad_Durkheim = get_observations(project_id = "bad-durkheim-exkursion")
Species = [obs["taxon"]["name"] for obs in Bad_Durkheim["results"]]

当我跑

Species = [obs for obs in Bad_Durkheim["results"]]
Species[0]["taxon"]["name"]

为了测试它,它在 case 有效Species[0],但是循环失败了TypeError: 'NoneType' object is not subscriptable

标签: python

解决方案


发现问题:某些条目没有请求的属性,因为它们被列为“未识别”。

解决方案:

import pyinaturalist as pyn

Bad_Durkheim = pyn.get_observations(project_id = "bad-durkheim-exkursion",
                                identified = True)
Species = [obs["taxon"]["name"] for obs in Bad_Durkheim["results"]]

推荐阅读