Saltar al contenido

Aprenda a rastrear y seguir las tendencias de Google en Data Studio usando Python

febrero 12, 2020

Google Trends es una herramienta gratuita e increíblemente útil que proporciona intereses de búsqueda, palabras clave populares y temas candentes en muchos idiomas para diferentes plataformas como la búsqueda web, Youtube o Google Shopping. Cualquiera que sea el canal de marketing, puede ser una herramienta muy útil para obtener información valiosa y tomar decisiones significativas para los próximos pasos en su proyecto.

Básicamente, proporciona los datos sobre la popularidad relativa de una palabra clave desde 2004 hasta la actualidad, ¡lo cual es realmente genial! (La popularidad relativa significa la relación entre el interés de su término de búsqueda y los intereses de todas las palabras clave buscadas en Google.)

Todo está bien hasta ahora, pero el análisis a gran escala de los datos de Google Trends generalmente no es práctico. Muchos de nosotros no lo usamos mucho, ya que parece difícil buscar palabras clave en el sitio web y obtener puntos de datos uno por uno. Entonces, ¿cómo podemos usar Google Trends de manera más efectiva?

En este artículo, mi objetivo es mostrarle la biblioteca de Pytrends en Python y los beneficios que puede obtener de ella en su análisis de datos. También explicaré la conexión entre Google Spreadsheets y Jupyter Notebook para importar datos a Google Data Studio para compartirlos fácilmente con otros. Por ejemplo, al analizar datos de Search Console en el panel de control de Data Studio, ¿no sería bueno tener datos de Google Trends en la misma página? Si tu respuesta es sí, ¡vamos a cavar!

3 temas que cubriré en este artículo:

  • Codificación con la biblioteca Pytrends y exploración de sus funcionalidades.
  • Conectar Jupyter Notebook a las hojas de cálculo de Google con la biblioteca gspread
  • Importar datos a Google Data Studio

Requisitos del sistema para usar la biblioteca Pytrends

  • Python 2.7+ y Python 3.3+
  • Requiere consultas, lxml, bibliotecas Pandas. Si no sabe cómo instalar las bibliotecas, consulte este documento de Python. (pista: pip instala pandas)
  • Jupyter Notebook es una aplicación web de código abierto que proporciona el entorno para ejecutar su código.

Codificación con la biblioteca Pytrends

Primero, necesitas instalar la biblioteca:

pip install pytrends

Importación de bibliotecas requeridas:

importar pytrends
desde pytrends.request import TrendReq
importar pandas como pd
tiempo de importación
fecha y hora de importación
desde datetime import datetime, date, time

¡Ahora es el momento de codificar!

pytrend = TrendReq ()
pytrend.build_payload (kw_list = (& # 39; tea & # 39;, & # 39; café & # 39;, & # 39; coke & # 39;, & # 39; lait & # 39;, & & # 39; eau & # 39 ;), fecha límite = & # 39; hoy 12 m & # 39;, geo = & # 39; GB & # 39;)

La función de carga útil es importante para especificar su búsqueda. Escriba sus palabras clave, decida el intervalo de fechas, la ubicación y muchas otras cosas, como elegir Youtube o el canal de Compras para analizar. En el código anterior, ""hoy 12 m ’’ significa datos de un año. Puede refinar sus resultados especificando la ubicación con "& # 39; geo''

Supongamos que tiene un canal de Youtube y solo quiere ver las tendencias de búsqueda en Youtube. Entonces su código será así:

pytrend.build_payload (kw_list = (& # 39; tea & # 39;, & # 39; café & # 39;, & # 39; coke & # 39;, & # 39; lait & # 39;, & & # 39; eau & # 39 ;), fecha límite = & # 39; hoy 12 m & # 39;, geo = & # 39; GB & # 39;, gprop = youtube)

O suponga que tiene un blog de alimentos y bebidas y desea datos sobre las tendencias de sus palabras clave en esta categoría, y no en todas las búsquedas. Será algo como esto:

pytrend.build_payload (kw_list = (& # 39; tea & # 39;, & # 39; café & # 39;, & # 39; coke & # 39;, & # 39; lait & # 39;, & & # 39; eau & # 39 ;), fecha límite = & # 39; hoy 12 m & # 39;, geo = & # 39; GB & # 39;, cat = 71)

Para ver todas las características y filtros, debe consultar este repositorio en Github y también puede encontrar todos los códigos de categoría aquí.

(Por cierto, asegúrese de que no puede escribir directamente más de 5 palabras clave aquí. Esto generará un error porque solo puede comparar 5 palabras clave en Google Trends. Usaré otro código para analizar palabras clave de más de 5.)

Así que sigamos y obtengamos el puntaje de tendencia ahora.

# para obtener una puntuación de interés a lo largo del tiempo, necesitará la función pytrend.interest_over_time ().
# Para más funciones, verifique esto: https://github.com/GeneralMills/pytrends
Interest_over_time_df = pytrend.interest_over_time () print (interest_over_time_df.head ())

# Dibujemos
importar matplotlib.pyplot como plt
importar seaborn como sns
sns.set (color_codes = True)
dx = Interest_over_time_df.plot.line (figsize = (9,6), title = "Interés en el tiempo")
dx.set_xlabel (& # 39; Fecha & # 39;)
dx.set_ylabel (& # 39; Índice de tendencia & # 39;)
dx.tick_params (axis = & # 39; both & # 39; which = & # 39; major & # 39;, labelsize = 13)

Palabras claves sugeridas

Ahora, te voy a mostrar otra característica interesante de Google Trends. Si utiliza la función de sugerencia, volverá con las palabras clave sugeridas y su "’ "los tipos.''

print (pytrend.suggestions (keyword = & # 39; land of engine & # 39;), & # 39; n & # 39;)
print (pytrend.suggestions (keyword = & # 39; amazon & # 39;), & # 39; n & # 39;)
print (pytrend.suggestions (keyword = & # 39; cats & # 39;), & # 39; n & # 39;)
print (pytrend.suggestions (keyword = & # 39; macbook pro & # 39;), & # 39; n & # 39;)
print (pytrend.suggestions (keyword = & # 39; cerveza & # 39;), & # 39; n & # 39;)
print (pytrend.suggestions (keyword = & # 39; ikea & # 39;), & # 39; n & # 39;)

Solicitudes asociadas

¡Es mi favorito! Especialmente porque puede ser muy útil en Google Ads, investigación de palabras clave y creación de contenido.

Echemos un vistazo a la palabra clave "Fundación" en la categoría Belleza y obtenga las palabras clave asociadas.

pytrend.build_payload (kw_list = (& # 39; foundation & # 39;), geo = & # 39; US & # 39;, timeframe = & # 39; today 3-m & # 39;, cat = 44)
related_queries = pytrend.related_queries ()
print (related_queries)

Verá dos partes en la salida; aumento de palabras clave y palabras clave. El valor de las palabras clave de mayor rendimiento indica el puntaje de Google Trends de 0 a 100. Sin embargo, el valor creciente de las palabras clave indica el porcentaje de interés en las palabras clave.

Si un sitio web vende fundaciones, sería bueno seguir lo que la gente está buscando recientemente, ¿verdad? Estos productos pueden volverse populares o revertidos, pueden tener una mala reputación recientemente y es por eso que las personas pueden buscarlos. Por ejemplo, si lo ve tan pronto como sea posible en Google Ads, no puede gastar demasiado sin conversión.

Rastree muchas palabras clave

Ahora voy a escribir un grupo de palabras clave aleatorias aquí y obtener sus datos. También puede leer palabras clave de un archivo csv o excel, pero asegúrese de que su tipo sea una "" lista "".

research = ("desintoxicación", "ayuno acuático", "beneficios del ayuno", "beneficios del ayuno",
"Ácido", "dieta de agua", "terapia de ozono", "hidroterapia de colon", "agua rápida",
"Reflexología", "equilibrio", "masaje de tejido profundo", "crio", "cuerpo sano", "qué es la desintoxicación",
"La verdad sobre el cáncer", "dieta", "diabetes reversa", "cómo revertir la diabetes",
"Limpieza con agua", "puede beber agua mientras está en ayunas", "beneficios del ayuno con agua", "carga glucémica", "antienvejecimiento", " cómo regar rápidamente "," tratamiento con ozono "," mente sana "," puede revertir la diabetes "," antienvejecimiento "," beneficios para la salud del ayuno "," hidrocolónico "," masaje shiatsu "," Envoltura de algas "," shiatsu "," ¿puede deshacerse de la diabetes "," cómo deshacerse de la diabetes "," cuerpo sano, mente sana "," hidroterapia del colon "," desintoxicación verde "," qu & Hace ayuno de agua "," 21 días de ayuno de agua "," beneficios del ayuno de agua "," celulitis "," ty bollinger " , "Dieta de desintoxicación", "programa de desintoxicación", "tratamientos antienvejecimiento", "cetogénico", "índice glucémico", "pérdida de peso en ayunas", "plan de dieta cetogénica", "síntomas ácidos", " régimen "dieta" alcalina "," ayuno con agua "," terapia con láser "," masaje anticelulítico "," masaje sueco "," beneficio del ayuno "," desintoxicar el cuerpo "," terapia de colon " , "Diabetes inversa", "desintoxicación", "verdad sobre el cáncer", "cómo eliminar la acidez del cuerpo", "21 días de ayuno rápido", "limpieza de colon", "beneficios para la salud en ayunas" # 39; & # 39; antienvejecimiento & # 39 ;, & # 39; masaje de aromaterapia & # 39;)

palabras clave de grupo = lista (zip (* (iter (búsquedas)) * 1))
groupkeywords = (list (x) para x en groupkeywords)

dicti = {}
i = 1
para tendencias en palabras clave grupales:
pytrend.build_payload (trend, delay = & # 39; today 3 m & # 39;, geo = & # 39; GB & # 39;)
dicti (i) = pytrend.interest_over_time ()
i + = 1

resultado = pd.concat (dicti, axis = 1)
result.columns = result.columns.droplevel (0)
resultado = resultado.drop (& # 39; isPartial & # 39;, axis = 1)

resultar

Sí! Los tengo todos, pero tengo que cambiar la forma de mi bloque de datos si estos datos se combinan con Search Console.

result.reset_index (nivel = 0, inplace = True)
pd.melt (resultado, id_vars = & # 39; date & # 39;, value_vars = búsquedas)

result.to_excel ("trends.xlsx")

¡Los datos de Google Trends están listos!

Conectar Jupyter Notebook a las hojas de cálculo de Google con la biblioteca gspread

Primero, debe activar ciertas API y crear un archivo JSON de cliente secreto para permitir el acceso a Google Sheets. No voy a explicar esto en este artículo, pero aquí hay una gran guía sobre cómo hacerlo paso a paso.

Entonces puedes usar estos códigos a continuación:

importación gspread
de oauth2client.service_account import ServiceAccountCredentials
enlaces = (& # 39; https: //spreadsheets.google.com/feeds',
"Https://www.googleapis.com/auth/drive")
información de identificación =
ServiceAccountCredentials.from_json_keyfile_name (& # 39; ENTER-YOUR-JSON-FILE-NAME-HERE.json & # 39; enlaces)
gc = gspread.authorize (credenciales)

Creación y apertura de una hoja de cálculo:

sh = gc.create (& # 39; Mi hoja de cálculo genial & # 39;)
wks = gc.open ("Mi hoja de cálculo genial"). sheet1
# ver documentos de colab aquí para más ejemplos →
https://colab.research.google.com/notebooks/io.ipynb

Creación de una fórmula personalizada para enviar bloques de datos en hojas:

#https: //www.danielecook.com/from-pandas-to-google-sheets/

def iter_pd (df):
para val en la lista (df.columns):
rendimiento val
para la línea en valores df:
para val en la lista (línea):
si pd.isna (val):
ceder ""
otros:
rendimiento val

def pandas_to_sheets (pandas_df, sheet, clear = True):
# Actualice todos los valores de un libro de trabajo para que coincidan con un marco de datos de pandas si está claro:
sheet.clear ()
(línea, col) = pandas_df.shape
celdas = hoja.rango ("A1:
{} ". formato (gspread.utils.rowcol_to_a1 (línea + 1, col)))
para celda, val en zip (celdas, iter_pd (df)):
cell.value = val
sheet.update_cells (celdas)

Un ejemplo para ver cómo funciona:

df = pd.read_csv ("train.csv")
pandas_to_sheets (df, wks)

Continuemos con los datos de tendencia y combinémoslos con los datos de Search Console.

sh = gc.create (& # 39; GoogleTrends & # 39;)
wks = gc.open ("GoogleTrends"). sheet1
pandas_to_sheets (resultado, semanas)

dx = pd.read_excel (& # 39; Trends.xlsx & # 39;, sheet_name = & # 39; Sheet1 & # 39;)
dz = pd.read_excel (& # 39; Trends.xlsx & # 39;, sheet_name = & # 39; console & # 39;) # los datos de mi consola están aquí, asegúrese de dónde están los suyos
dm = pd.merge (dx, dz, on = (& # 39; Request & # 39;, # #; Date & # 39;))
dm

Y envíe este también en Hojas de cálculo de Google.

wks = gc.open ("GoogleTrends"). Sheet3
pandas_to_sheets (dm, wks)

Importar datos a Google Data Studio

Ahora puede conectar esta hoja de cálculo a Google Data Studio:

Seguimiento de palabras clave

pytrend.build_payload (kw_list = (& # 39; fundación & # 39;, & # 39; delineador de ojos & # 39;, & # 39; corrector & # 39; & & # 39; lápiz labial & # 39;), geo = & # 39; Estados Unidos & # 39;, marco de tiempo = & # 39; hoy 3-m & # 39;, cat = 44)
related_queries = pytrend.related_queries ()
dg = related_queries.get (& # 39; barra de labios & # 39;). obtener (& # 39; subir & # 39;)
dg

uso pandas_to_sheets sin embargo. Importarlos a Data Studio y ver:

empacar

Al principio suena complicado, pero pruebe estos códigos y cree sus propios paneles. Porque al final, simplemente ejecutará el código en Jupyter Notebook y actualizará los datos en Google Data Studio. Solo les tomará de 10 a 15 segundos actualizarlos a todos, ¡lo prometo!

Aquí está mi repositorio de Github para todos los códigos de Python juntos.

Buena codificación!


Las opiniones expresadas en este artículo son las del autor invitado y no necesariamente Search Engine Land. Los autores se enumeran aquí.