في عملي ، غالبًا ما أستخدم إحصائيات قصيرة حسب الأيام لتتبع انحرافات المرور.
لقد كتب المزيد حول كتابة الطلبات في
مقالة "Getting Yandex.Direct الحملات الإعلانية المباشرة باستخدام API في DataFrame (Python)" .
في هذه المقالة ، سأتحدث أكثر عن كيفية تنظيم البيانات والاستعلامات بحيث يمكن استخدامها بشكل طبيعي.
يجب أن نسجل طلب الخادم كدالة.
شخصيا ، قمت بعمل ملفين: وظيفة مع طلب وملف به بيانات سيتم نقلها إلى الوظيفة.
في الملف الأول نكتب وظيفة
أطلب نفس الحقول لجميع المشاريع ، لذلك أنا بحاجة إلى تمرير في طلب فقط التواريخ وتسجيل الدخول والرمز المميز.
يبدو نقل البيانات إلى دالة بالنسبة لي كما يلي:
def rep(token,login,date_from,date_to):
نكتب طلبًا إلى خادم واجهة برمجة تطبيقات Yandex.Direct
يطلب هذا الاستعلام بيانات للمعلمات التالية:
- تاريخ
- الانطباعات
- نقرات
- نسبة النقر إلى الظهور
- كلفة
- متوسط تكلفة النقرة
- AvgImpressionPosition
- AvgClickPosition
- AvgTrafficVolume
- معدل الارتداد
- AvgPageviews
ملف الطلب النهائي
قانون import requests from requests.exceptions import ConnectionError from time import sleep import json
2 ملف
نأخذ التواريخ والتسجيلات والرموز بشكل منفصل كمتغيرات.
شيء مثل هذا:
يتم ذلك من أجل تغيير المعلومات بسهولة على جميع العملاء ، وتواريخ التقارير.
رمز لطلب إحصائيات المشروع
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)
مزيد من التفاصيل:
- اسم المشروع ("=" نستخدمه لاختيار أفضل ، حتى لا نضيع في المعلومات)
- البيانات - اكتب إلى هذا السطر المتغيرات المشار إليها أعلاه. (هذا الخط سينفذ الملف الأول)
- نكتب استجابة الخادم لملف
- افتح الملف كـ DataFrame
- أضف إلى القيم النقدية لضريبة القيمة المضافة.
- نحن نترجم القيم النقدية إلى روبل عادي (كمعيار ، API لا يستخدم الروبل ، لكن روبل * 1،000،000.
- إخراج DataFrame لدينا

الملف الثاني هو كما يلي:
نكتب جميع المشاريع في الملف الثاني ، وبعد ذلك يجب علينا عرض إحصائيات لجميع المشاريع.
بعد ذلك ، نحتاج فقط إلى تغيير طول الوقت في حقول DateFrom و DateTo.