Форум сайта python.su
Помогите пожалуйста начал писать бота в телеграмме и при выводе выдаётся ошибка мне подсказали, что надо поменять паттерн на что я поменять я не знаю.
Отредактировано sergeylaz (Март 10, 2023 10:16:13)
Офлайн
Ты код опубликуй.
Офлайн
def search_city(message: Message) -> None: logger.info(str(message.from_user.id)) if message.text in constants.COMMAND_LIST: start_command(message) else: response = request_search(message) if check_status_code(response): pattern_city_group = r'(?<="CITY_GROUP",).+?[\]]' find_cities = re.findall(pattern_city_group, response.text) if len(find_cities[0]) > 20: pattern_dest = r'(?<="destinationId":")\d+' destination = re.findall(pattern_dest, find_cities[0]) pattern_city = r'(?<="name":")\w+[\s, \w]\w+' city = re.findall(pattern_city, find_cities[0]) city_list = list(zip(destination, city)) bot_message = bot.send_message( message.from_user.id, constants.CORRECTION, reply_markup=keyboards.keyboards_city(city_list) ) user.edit('bot_message', bot_message) else: bot.send_message(message.from_user.id, constants.INCORRECT_CITY) choice_city(message) else: bot.send_message(message.from_user.id, constants.REQUEST_ERROR) choice_city(message)
Офлайн
1
Прикреплённый файлы:
1.jpg (124,9 KБ)
Офлайн
Приходит JSON - используй модуль json для разбора.
Если там просто какой-то текст, тогда напиши сюда содержимое response.text .
[code]
Тут содержимое.
[/code]
Офлайн
Если надо вот ссылка на API с которыми я работаю Your text to link here…
В данной функции я использую метод https://hotels4.p.rapidapi.com/locations/v3/search, но я не понимаю на что надо заменить '
pattern_city_group = r'(?<="CITY_GROUP",).+?[\]]'
Офлайн
sergeylazНу вот, она мне выдаёт вот это
В данной функции я использую метод https://hotels4.p.rapidapi.com/locations/v3/search
{"message":"Invalid API key. Go to https:\/\/docs.rapidapi.com\/docs\/keys for more info."}
sergeylazЭто надо разбирать не регулярными выражениями с модулем re, а модулем json.
но я не понимаю на что надо заменить
Отредактировано py.user.next (Март 11, 2023 11:09:13)
Офлайн
sergeylazкакая ошибка? в какой строке?
при выводе выдаётся ошибка
Офлайн
xam1816Выдаётся ошибка, что API запрос не выполняется в 50 строке моего кода.
pattern_city_group = r'(?<="CITY_GROUP",).+?[\]]'
Офлайн
sergeylazПохоже, рано тебе заниматься программированием таким. А шаблон этот тоже не ты писал?
В результате выполнения моего кода должно выдаваться сообщение с уточнением города, а только потом “Ведём поиск отелей в городе название города”.
Офлайн