#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 есть ошибка.
однако они имеют высоту и ширину, поэтому должна быть возможность запросить определенный размер, ЕСЛИ конечная точка для этого запроса существует. В противном случае вы могли бы отсортировать их самостоятельно после того, как получите изображение