Dans mon travail, j'utilise souvent de courtes statistiques par jour pour suivre les écarts de trafic.
Il a écrit plus sur l'écriture de demandes dans l'
article «Obtenir des campagnes publicitaires Yandex.Direct Direct en utilisant l'API dans DataFrame (Python)» .
Dans cet article, je parlerai davantage de la façon de structurer les données et les requêtes afin qu'elles puissent être utilisées normalement.
Nous devons enregistrer la demande du serveur en tant que fonction.
Personnellement, j'ai fait 2 fichiers: une fonction avec une demande et un fichier avec des données qui seront transférées à la fonction.
Dans le premier fichier, nous écrivons une fonction
Je demande les mêmes champs pour tous les projets, je dois donc saisir uniquement les dates de demande, la connexion et le jeton.
Pour moi, passer des données à une fonction ressemble à ceci:
def rep(token,login,date_from,date_to):
Nous écrivons une demande au serveur API Yandex.Direct
Cette requête demande des données pour les paramètres suivants:
- Date
- Impressions
- Clics
- Ctr
- Coût
- Avgcpc
- AvgImpressionPosition
- AvgClickPosition
- AvgTrafficVolume
- Bouncerate
- AvgPageviews
Le dossier de demande final
Code import requests from requests.exceptions import ConnectionError from time import sleep import json
2 fichier
Nous supprimons les dates, les connexions et les jetons séparément en tant que variables.
Quelque chose comme ça:
Ceci est fait afin de modifier facilement les informations sur tous les clients et les dates des rapports.
Code pour demander les statistiques du projet
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)
Plus de détails:
- Le nom du projet ("=" nous utilisons pour une meilleure sélection, afin de ne pas se perdre dans les informations)
- Données - Écrivez sur cette ligne les variables déjà indiquées ci-dessus. (cette ligne exécutera le premier fichier)
- Nous écrivons la réponse du serveur à un fichier
- Ouvrez le fichier en tant que DataFrame
- Ajoutez aux valeurs monétaires de la TVA.
- Nous traduisons les valeurs monétaires en roubles ordinaires (en standard, l'API n'utilise pas de roubles, mais des roubles * 1000000).
- Sortie de notre DataFrame

Le deuxième fichier est le suivant:
Nous écrivons tous les projets dans le deuxième fichier, après quoi nous devons afficher les statistiques de tous les projets.
Après cela, il nous suffit de modifier la durée dans les champs DateFrom et DateTo.