Получите таксоны в пределах области или проекта iNaturalist с помощью pyinaturalist

#python

Вопрос:

Я создал проекты в 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={'quality_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"]
 

чтобы проверить это, он работал в случае Species[0] , если, однако, цикл не удался TypeError: 'NoneType' object is not subscriptable .

Ответ №1:

Обнаружена проблема: некоторые записи не имели запрошенных атрибутов, так как они были перечислены как «неопознанные».

Решение:

 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"]]