En mi trabajo, a menudo uso estadísticas cortas por días para rastrear las desviaciones del tráfico.
Escribió más sobre cómo escribir solicitudes en el
artículo "Cómo obtener campañas de publicidad directa de Yandex.Direct usando una API en un DataFrame (Python)" .
En este artículo, hablaré más sobre cómo estructurar datos y consultas para que puedan usarse normalmente.
Deberíamos registrar la solicitud del servidor como una función.
Personalmente, hice 2 archivos: una función con una solicitud y un archivo con datos que se transferirán a la función.
En el primer archivo escribimos una función
Solicito los mismos campos para todos los proyectos, por lo que necesito pasar las fechas de solicitud, inicio de sesión y token.
Pasar datos a una función para mí se ve así:
def rep(token,login,date_from,date_to):
Estamos escribiendo una solicitud al servidor Yandex.Direct API
Esta consulta solicita datos para los siguientes parámetros:
- Fecha
- Impresiones
- Clics
- Ctr
- Costo
- Avgcpc
- AvgImpressionPosition
- AvgClickPosition
- AvgTrafficVolume
- Rebotar
- AvgPageviews
El archivo de solicitud final
Código import requests from requests.exceptions import ConnectionError from time import sleep import json
2 archivo
Sacamos las fechas, los inicios de sesión y los tokens por separado como variables.
Algo como esto:
Esto se hace para cambiar fácilmente la información de todos los clientes y las fechas de los informes.
Código para solicitar estadísticas del proyecto
print( '\n=== ===') data=rep(mytoken,project,DateFrom,DateTo) file=open("cashe.csv","w") file.write(data) file.close() f=DataFrame.from_csv("cashe.csv",header=1,sep=' ',index_col=0,parse_dates=True) f['Cost']=f['Cost']*1.2 f['Cost']=f['Cost']/1000000 f['AvgCpc']=f['AvgCpc']*1.2 f['AvgCpc']=f['AvgCpc']/1000000 print(f)
Más detalles:
- El nombre del proyecto ("=" lo usamos para una mejor selección, para no perderse en la información)
- Datos: escriba en esta línea las variables que ya se han indicado anteriormente. (esta línea ejecutará el primer archivo)
- Escribimos la respuesta del servidor a un archivo
- Abra el archivo como un DataFrame
- Agregar a los valores monetarios del IVA.
- Traducimos los valores monetarios a rublos ordinarios (como estándar, la API no usa rublos, sino rublos * 1,000,000.
- Salida de nuestro DataFrame

El segundo archivo es el siguiente:
Escribimos todos los proyectos en el segundo archivo, después de lo cual debemos mostrar estadísticas para todos los proyectos.
Después de eso, solo necesitamos cambiar el período de tiempo en los campos DateFrom y DateTo.