Python | Encuentre precios de hoteles usando la API de comparación de precios de hoteles

Makcorps hotel APIse utiliza para obtener datos JSON, para comparar precios de hoteles, calificaciones y reseñas de más de 200 sitios web, incluidos; Agoda.com, Hotels.com, Expedia y más. Está organizado en torno a requests GET. Uno puede usar esta API de forma gratuita para obtener información de cualquier hotel o cualquier ciudad con respecto a precios, calificaciones, reseñas, precios históricos y muchas otras cosas.

Para usar esta API, se debe necesitar la clave API, que se puede obtener desde aquí

Nota: el usuario debe crear una cuenta en makcorps.com y luego solo puede usar las API.

Módulos necesarios:

peticiones

pip install requests

Implementación

Esta API buscará según el nombre de la ciudad. Supongamos que si se busca una ciudad de Londres, el JSON de salida será una comparación de precios de diferentes hoteles en esa ciudad de diferentes proveedores junto con su nombre. De acuerdo con el precio del proveedor, también se mostrará el mejor precio.

A continuación se muestra la implementación:

# Python program to find live hotel prices  
# Python program to find live hotel prices
# status using Makcorps Hotel API
  
# import required modules
import requests, json
  
# base_url variable to store url
base_url = "https://api.makcorps.com/free/"
  
# enter city name here
city = "london"
  
# complete_url variable to
# store complete url address
complete_url = base_url + city
  
# Declaring headers needed
headers = {
    'Authorization': 'JWT your_API_id',
}
  
# get method of requests module
# return response object
response_ob = requests.get(complete_url, headers=headers)
  
# json method of response object convert
# json format data into python format data
result = response_ob.json()
  
# Now check the value of status_code is equal
# to "200" or not, if equal that means record is
# found otherwise record is not found
if response_ob.status_code == 200:
  
    #  name is extracting from
    # the result variable data
    print("price comparison data for a random date of city london is:")
    print(result)
else:
    print("record is not found for given request")

Producción:

price comparison data for a random date of city london is:
{'comparison':
  [
    {
     'vendor1-price': 'US$217',
     'vendor3-price': 'US$246',
     'vendor2-price': 'US$217',
     'vendor3': 'travelup.com',
     'vendor1': 'Travelocity',
     'Hotel': 'Park Plaza Westminster Bridge London',
     'Best-price': 'US$\xa0246US$\xa0215Booking.com',
     'vendor2': 'Orbitz.com'
    }, 

    {
     'vendor1-price': '',
     'vendor3-price': '',
     'vendor2-price': '',
     'vendor3': 'Travelocity',
     'vendor1': 'Expedia.com',
     'Hotel': 'Travelodge London Covent Garden',
     'Best-price': 'US$\xa074Travelodge',
     'vendor2': 'Hotels.com'
    }, 

    {
     'vendor1-price': 'US$167',
     'vendor3-price': 'US$183',
     'vendor2-price': 'US$171',
     'vendor3': 'Nustay.com', 
     'vendor1': 'ParkGrandLondon',
     'Hotel': 'Park Grand London Kensington',
     'Best-price': 'US$\xa0170Booking.com', 
     'vendor2': 'Travelocity'
    }, 

    {
     'vendor1-price': '',
     'vendor3-price': '',
     'vendor2-price': '',
     'vendor3': 'Orbitz.com',
     'vendor1': 'Expedia.com',
     'Hotel': 'Travelodge London City hotel',
     'Best-price': 'US$\xa056Travelodge',
     'vendor2': 'Nustay.com'
    }, 

    {
     'vendor1-price': 'US$205',
     'vendor3-price': 'US$232',
     'vendor2-price': 'US$185',
     'vendor3': 'ZenHotels.com', 
     'vendor1': 'Booking.com',
     'Hotel': 'The Tower Hotel',
     'Best-price': 'US$\xa0206Orbitz.com',
     'vendor2': 'Trip.com'
    },

    {
     'vendor1-price': 'US$77',
     'vendor3-price': 'US$94',
     'vendor2-price': 'US$87',
     'vendor3': 'Nustay.com', 
     'vendor1': 'Official Site',
     'Hotel': 'Point A Hotel, London Kings Cross St Pancras',
     'Best-price': 'US$\xa087Orbitz.com',
     'vendor2': 'Booking.com'
    },

    {
     'vendor1-price': 'US$224',
     'vendor3-price': 'US$242',
     'vendor2-price': 'US$217',
     'vendor3': 'travelup.com', 
     'vendor1': 'Orbitz.com',
     'Hotel': 'Strand Palace Hotel',
     'Best-price': 'US$\xa0223Booking.com',
     'vendor2': 'ZenHotels.com'
    }
  ]
}

Publicación traducida automáticamente

Artículo escrito por makcorpsapi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *