Туры и мероприятия *цены* с использованием Amadeus API

Я пытаюсь собрать стоимость туров и мероприятий, используя API Python с Amadeus. Я прочитал пару статей, в которых собирались цены на путевки в Германию с использованием Amadeus Germany GmbH (которая, как я предполагаю, имеет тот же API и доступность данных). Однако, несмотря на поиск множества примеров, мне не удалось узнать стоимость туров и мероприятий. Для расчета стоимости авиабилетов (или отелей) я запускаю следующий скрипт:

import pandas as pd
from amadeus import Client

amadeus_api = 'MY_API'
amadeus_secret = 'SECRET_CODE'

amadeus = Client(client_id = amadeus_api,
                 client_secret = amadeus_secret)

flights = amadeus.shopping.flight_offers_search.get(originLocationCode = 'airport_departure', destinationLocationCode = 'airport_arrival',departureDate = '2024-07-01',
                                                            adults = 1).data

Однако, когда дело доходит до туров и мероприятий, единственный код, который мне удалось найти, это следующий (или аналогичные варианты):

amadeus.shopping.activity('56777').get().result

Однако приведенный выше код получает лишь некоторую информацию об активности. Я хотел бы извлечь цену и иметь возможность установить даты. В идеале хотелось бы узнать, идет ли тур в комплекте с авиабилетами.

Знаете ли вы, можно ли получить такую ​​информацию об Амадее? Если да, то кто-нибудь знает, как это сделать?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы проверите ссылку API на действия, вы увидите, что данные о времени не предоставляются. Поэтому невозможно извлечь это из результатов API. Вероятно, вы могли бы проанализировать сайт со ссылками на бронирование, чтобы получить это, но это сложно и это другая тема.

Предположим, вы загружаете деятельность в Мадриде в фрейм данных, после чего можете легко извлечь информацию о ценах следующим образом:

import pandas as pd
from amadeus import Client, ResponseError

amadeus_api = 'KEY'
amadeus_secret = 'SECRET'

if __name__ == '__main__':
    amadeus = Client(client_id=amadeus_api,
                     client_secret=amadeus_secret)

    try:
        # this call is taken from the code examples
        activities = amadeus.shopping.activities.get(latitude=40.41436995, longitude=-3.69170868)
        df = pd.DataFrame(activities.data)
    except ResponseError as error:
        print(error)
        exit(1)

    excerpt = df[['name', 'price']].head()
    print(excerpt.to_string())

Чтобы получить данные о ценах на определенное действие, как в вашем примере, вам нужно получить доступ к result.data.price, например: activity_price = amadeus.shopping.activity('56777').get().result['data']['price'].

Результирующий словарь цен пуст, что означает, что для этого конкретного действия в вашем примере информация о ценах недоступна.

Другие вопросы по теме