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