Как вы вызываете кошек по породе в API для кошек?

#python

Вопрос:

Я использую Python3 для вызова API Cat.

 def get_cat_by_breed(breed_name):
    from requests import get
    from json import loads
    url = "https://api.thecatapi.com/v1/images/search"
    breeds = [{"name": breed_name}]
    params = {"breeds": breeds,
              "api_key": api_key,
              "limit": 100,
              "page": 1}
    response = get(
        url=url,
        params=params)
    return loads(response.content)
 

При этом успешно получается кошка, но не из указанных breed_name . Что я делаю не так?

Кроме того, как вы ищете изображения >=x пикселей и >>= y пикселей?

Комментарии:

1. Документы. thecatapi.com/example-by-breed

2. @matt Я видел это, но это а) не дает примера Python и б) не показывает поиск по названию породы.

3. Как показывают документы, breed_ids или breed_id является параметром запроса. Где в вашем коде вы пытаетесь это обеспечить?

4. @OneCricketeer Как я уже упоминал, я хотел бы выполнить поиск по breed_name .

5. Вы не можете, основываясь на этих документах. Каждое имя сопоставляется с идентификатором. Вам нужно использовать идентификатор

Ответ №1:

Ваш код работает хорошо, но название породы не указано для всех изображений. Как вы можете видеть ниже, когда я попробовал ваш код для «abys»

 [{'breeds': [], 'categories': [{'id': 5, 'name': 'boxes'}], 'id': 'hn', 'url': 'https://cdn2.thecatapi.com/images/hn.jpg', 'width': 1200, 'height': 1600}, {'breeds': [], 'id': '182', 'url': 'https://cdn2.thecatapi.com/images/182.jpg', 'width': 448, 'height': 336}]
 

В первом результате не было названия породы или идентификатора… так что я предполагаю, что в ответе API есть ошибка.
однако они имеют высоту и ширину, поэтому должна быть возможность запросить определенный размер, ЕСЛИ конечная точка для этого запроса существует. В противном случае вы могли бы отсортировать их самостоятельно после того, как получите изображение