Форум сайта python.su
Нужно отправить get-запрос на https://api.chucknorris.io/jokes/random?category={category} так, чтобы вместо {category}, были запросы отсюда: https://api.chucknorris.io/jokes/categories, и в консоли выдавало шутку из каждой категории.
Могу просто написать все категории и условно подставлять их, но код будет большим и легким.
Неделю не могу автоматизировать, чтобы при запуске кода выходили рандомные шутки по каждой категории
import requests class test_api(): """Создание шуток""" def __init__(self): pass def test_all_joke(self): """Создание всех категорий шуток""" url = "https://api.chucknorris.io/jokes/categories" print (url) result = requests.get(url) print("Статус-код : " + str(result.status_code)) assert 200 == result.status_code print("Успешно! Категории шуток получены : ") print(result.text) result.encoding = "utf-8" def value_jokes(self): """Получение шутки из каждой категории""" url = "\nhttps://api.chucknorris.io/jokes/random?category=" print(url) result = requests.get(url) print("Статус-код : " + str(result.status_code)) print(result.json()) assert 200 == result.status_code check = result.json() check_info = check.get("categories") print("Категория соответствует : ") print(check_info) categories_joke = test_api() categories_joke.test_all_joke() jokes = test_api() jokes.value_jokes()
Офлайн
AlexlkiЗачем ты класс сделал?
Неделю не могу автоматизировать
Alexlki1. Для начала напиши функцию, которая получает ссылку на список категорий в сети и возвращает список категорий в виде списка строк.
Нужно отправить get-запрос на https://api.chucknorris.io/jokes/random?category={category} так, чтобы вместо {category}, были запросы отсюда: https://api.chucknorris.io/jokes/categories, и в консоли выдавало шутку из каждой категории.
>>> def f(x): ... return x * x ... >>> f(2) 4 >>> f(4) 16 >>> f(2) + f(4) + f(16) 276 >>>
>>> def f(name, work): ... out = 'Hello, {}! You are a good {}!'.format(name, work) ... return out ... >>> f('John', 'manager') 'Hello, John! You are a good manager!' >>> f('Lisa', 'nurse') 'Hello, Lisa! You are a good nurse!' >>>
>>> import random >>> >>> def f1(): ... strings = ['John', 'Lisa', 'Jim', 'Lucy'] ... out = strings[random.randint(0, 3)] ... return out ... >>> def f2(): ... strings = ['manager', 'cook', 'doctor'] ... out = strings[random.randint(0, 2)] ... return out ... >>> def f3(name, work): ... out = 'Hello, {}! You are a good {}!'.format(name, work) ... return out ... >>> f3(f1(), f2()) 'Hello, Lucy! You are a good cook!' >>> f3(f1(), f2()) 'Hello, Lisa! You are a good manager!' >>> f3(f1(), f2()) 'Hello, Jim! You are a good doctor!' >>>
Отредактировано py.user.next (Апрель 7, 2023 22:26:52)
Офлайн
Спасибо большое за помощь!
Офлайн
Конечно, я могу помочь вам отправить несколько запросов GET. Однако мне нужно больше информации о том, какие именно запросы GET вы хотите отправить и куда. Пожалуйста, предоставьте дополнительные детали или конкретные URL-адреса, которые вы хотите запросить, и я постараюсь вам помочь наилучшим образом.
connections game
Офлайн