· 5 years ago · Oct 18, 2019, 02:04 PM
1import requests
2import json
3import pandas as pd
4import numpy as np
5from pandas import Series,DataFrame
6
7import sys
8
9if sys.version_info < (3,):
10 def u(x):
11 try:
12 return x.encode("utf8")
13 except UnicodeDecodeError:
14 return x
15else:
16 def u(x):
17 if type(x) == type(b''):
18 return x.decode('utf8')
19 else:
20 return x
21
22class Market():
23 def __init__(self, token, fromDate, toDate):
24 self.token = token
25 self.fromDate = fromDate
26 self.toDate = toDate
27 self.client_id = 'client_id'
28 self.headers = {
29 'Authorization': 'OAuth oauth_token=' + token + ', oauth_client_id=' + self.client_id,
30 }
31
32 def stats(self, ids):
33 url = 'https://api.partner.market.yandex.ru/v2/campaigns/' + ids + '/stats/main.json?fromDate=' + self.fromDate + '&toDate=' + self.toDate
34 print(url)
35 r = requests.get(url, headers=self.headers)
36 data = r.text
37 temp = json.loads(data)
38 print(data)
39 df = pd.DataFrame(temp['mainStats'])
40 print(df)
41
42 def campaigns(self):
43 url = 'https://api.partner.market.yandex.ru/v2/campaigns.json'
44 r = requests.get(url, headers=self.headers)
45 data = json.loads(r.text)
46 for item in data['campaigns']:
47 ids = item['id']
48 ids = str(ids)
49 self.stats(ids)
50
51my_stat = Market("token", "8-10-2019", "10-10-2019")
52
53print my_stat.campaigns()