Saltar al contenido

Introducción a la API de Yelp

septiembre 29, 2021
1Sevz35t0RfHIOzMYD zqzA

Ciencia de datos para pequeñas empresas

Introducción a la API de Yelp

Creación de un algoritmo para ayudar a las pequeñas empresas a aprovechar los datos de Yelp.

Raymond Willey

24 de noviembre de 2019·5 min de lectura

1*Sevz35t0RfHIOzMYD zqzA

Esta publicación es parte de una serie en la que exploramos cómo las pequeñas empresas pueden aprovechar los datos de Yelp para comprender mejor su posición en los mercados locales. Antes de sumergirme en el meollo de la cuestión, me gustaría comenzar contándoles un poco sobre la inspiración y los objetivos de este proyecto. Por supuesto, si solo está interesado en la parte técnica, puede omitirla aquí.

Inspiración

Me mudé a la ciudad de Nueva York en 2012, y en los últimos siete años, ya he visto hundirse algunos de mis negocios locales favoritos. De forma lenta pero segura, las marcas de renombre comienzan a mudarse. Claro, podríamos hablar todo el día sobre economías de escala y rentas crecientes, pero el poder del monedero también permite que las grandes corporaciones aprovechen cantidades masivas de datos de una manera que las pequeñas empresas no pueden. Es hora de que comencemos a cerrar esa brecha.

A través de esta serie vamos a realizar un análisis de uno de mis restaurantes mexicanos favoritos en Astoria: Chano’s Cantina.

El vecindario

A diferencia de otros vecindarios más prominentes de la ciudad de Nueva York, Astoria mantiene una identidad única que está salpicada de una variedad de cocinas locales. Sin duda, se beneficia de ser un barrio del distrito más diverso de la ciudad. Pero esto también significa que cada restaurante tiene una amplia gama de competidores, lo que hace que sea mucho más difícil para cualquier restaurante local diferenciarse. De hecho, una búsqueda rápida en Yelp de restaurantes mexicanos en Astoria arroja 24 páginas de resultados.

Objetivo

Nuestro objetivo es simple: identificar a los cinco a diez competidores principales para el negocio de interés, luego usar el procesamiento del lenguaje natural y el análisis de sentimientos para determinar qué hace bien la empresa y en qué necesita trabajar. Hacer esto requerirá una gran cantidad de técnicas de ciencia de datos, que revisaremos una a la vez a través de cada parte de esta serie. Estos incluyen, pero no se limitan a:

  • Acceder a los datos mediante la API de Yelp
  • Agrupación de K-medias
  • Raspado web
  • Análisis de sentimiento / PNL
  • Aprendizaje automático supervisado
  • Redes neuronales

Ahora, puede que se esté preguntando, ¿cómo se supone que una pequeña empresa que no está bien versada en este tipo de análisis implemente todo esto? En última instancia, queremos implementar esto en un módulo limpio que requiere poco más que unas pocas entradas básicas:

  • nombre de empresa (como aparece en Yelp): Cantina de Chano
  • Localización (Código postal o ciudad, St): Astoria, Nueva York
  • Términos de búsqueda (cualquier frase o combinación de frases que un cliente potencial pueda usar para encontrar el negocio en Yelp): Bar restaurante mexicano

Sin más preámbulos, comencemos a construir y configurar con la API de Yelp.

API de Yelp

Token de autenticación

Lo primero es lo primero: si desea acceder a los datos mediante la API de Yelp, Yelp debe poder autenticar su identidad. Esto se logra generando un token de acceso a través de su cuenta de Yelp. Si aún no tiene una cuenta de Yelp, deberá crear una. Al hacer clic en el enlace de arriba, debería terminar en una página que se ve así:

Es una buena idea crear un token nuevo con una Nombre de la aplicación para cada proyecto por separado. Los campos obligatorios son:

  • Nombre de la aplicación
  • Industria
  • Email de contacto
  • Descripción

No es necesario pensar demasiado en esto, simplemente complételos lo mejor que pueda, acepte los términos y condiciones (no se preocupe, lo verifiqué y no hay una cláusula de HumancentiPad), y luego confirme al robot que usted no es un robot. En la página siguiente, se le proporcionará un Identificación del cliente y Simbólico.

1*eP5EEwoVNiRSSJE4vW4c9g

Notarás que tengo la mía borrosa, y eso se debe a que no quieres compartir tu ficha con otras personas. Si alguien con mala intención se apoderara de su token, podría usarlo de maneras que podrían suspender su cuenta, o algo peor. En otras palabras:

1*jwio g6ysyPdR 7Wr59spw

Idealmente, querrá guardarlos como variables de entorno. Para obtener información más detallada sobre este tema, este artículo es un excelente lugar para comenzar.

Por ahora, puede codificarlos en su Jupyter Notebook de la siguiente manera:

client_id = your_unique_client_id
api_key = your_unique_api_key

Hacer llamadas a Yelp

Ahora que lo hemos solucionado, podemos comenzar a hacer llamadas a la API de Yelp para obtener nuevos datos. En nuestro caso, queremos buscar Restaurantes y bares mexicanos en Astoria, NY, y guarde los resultados en un marco de datos. El primer paso es instalar la API de Yelp a través de la línea de comandos.

pip install yelpapi

Con la API instalada, ahora puede cargarla en cualquier Jupyter Notebook con:

from yelpapi import YelpAPIyelp_api = YelpAPI(api_key)

¡Pan comido! Ahora, una solicitud a la API de Yelp requerirá tres partes:

  • Término de búsqueda: Términos de búsqueda utilizados en una búsqueda estándar de Yelp.
  • Localización: Ciudad, calle o código postal
  • Límite de búsqueda: ¿Cuántos resultados desea (máximo 50)?

Queremos encontrar Restaurantes y bares mexicanos en Astoria, NY, por lo que pasamos los datos requeridos a una consulta de búsqueda como esta:

term = 'Mexican restaurant bar'
location = 'Astoria, NY'
search_limit = 50
response = yelp_api.search_query(term = term,
location = location,
limit = search_limit)
type(response)--------------OUTPUT:
dict

Como puede ver, guardamos los resultados de la búsqueda en un respuesta variable, y es un diccionario.

Guardar resultados en el marco de datos

Con una inspección más profunda, veríamos que este diccionario tiene tres claves:

  • Empresas
  • Total
  • Región

Para nuestros propósitos, estamos interesados ​​en negocios datos. Con una evaluación adicional, encontrará que los datos de esta clave son una lista de diccionarios, cada uno de los cuales representa un negocio diferente y todos tienen las mismas claves. Esto nos permite establecer la lista de claves como nombres de columna y usar los valores como datos en un marco de datos. Podemos lograr esto con unas pocas líneas de código:

cols = list(response['businesses'][0].keys())
data = pd.DataFrame(columns=cols)
for biz in response['businesses']:
data = data.append(biz, ignore_index=True)
data.head()

¡Y voilá! Tenemos un marco de datos que contiene toda la información que normalmente veríamos cuando usamos la búsqueda tradicional de Yelp, pero en un formato que podemos usar para el análisis.

Conclusión

Como puede ver, acceder a los datos utilizando la API de Yelp es muy simple y bastante útil. En la próxima publicación, veremos las etiquetas categóricas y usaremos K-Means Clustering para descubrir qué restaurantes se presentan de manera más similar a Chano’s Cantina. Los trataremos como los competidores más directos para un análisis más profundo.

Para obtener más información sobre la funcionalidad más amplia de la API de Yelp, consulte la documentación.

close