· 7 years ago · Apr 18, 2018, 02:28 PM
1df['клик на more'] = df['тег'].apply(statMore_list)
2df['клик на address'] = df['тег'].apply(statAddress_list)
3df['клик на map'] = df['тег'].apply(statMap_list)
4df['клик на name'] = df['тег'].apply(statByUrl)
5
6def statMore_list (i):
7
8 API_URL = 'https://api-metrika.yandex.ru/stat/v1/data'
9
10 params_func = {
11
12 'date1': start_date,
13
14 'date2': end_date,
15
16 'id': id_metrika,
17
18 'dimensions': 'ym:s:paramsLevel2',
19
20 'metrics': 'ym:s:visits',
21
22 'oauth_token': token,
23
24 'filters': "ym:s:paramsLevel1=='listitem' AND ym:s:startURL=@'{}'".format(i)
25 }
26
27 d = requests.get(API_URL, params = params_func)
28 d = d.json()
29
30 for i in d['data']:
31 if i['dimensions'][0]['name'] == 'more_list':
32 more_list = i['metrics'][0]
33 print(more_list)
34 return more_list
35
36def checkFunction (i):
37 if i['dimensions'][0]['name'] == 'name_list':
38 name_list = i['metrics'][0]
39 #print(name_list)
40 return name_list
41
42 if i['dimensions'][0]['name'] == 'more_list':
43 more_list = i['metrics'][0]
44 #print(more_list)
45 return more_list
46
47 if i['dimensions'][0]['name'] == 'address_list':
48 address_list = i['metrics'][0]
49 #print(address_list)
50 return address_list
51
52 if i['dimensions'][0]['name'] == 'map_list':
53 map_list = i['metrics'][0]
54 #print(map_list)
55 return map_list
56
57def statByUrl (i):
58
59 API_URL = 'https://api-metrika.yandex.ru/stat/v1/data'
60
61 params_func = {
62
63 'date1': start_date,
64
65 'date2': end_date,
66
67 'id': id_metrika,
68
69 'dimensions': 'ym:s:paramsLevel2',
70
71 'metrics': 'ym:s:visits',
72
73 'oauth_token': token,
74
75 'filters': "ym:s:paramsLevel1=='listitem' AND ym:s:startURL=@'{}'".format(i)
76 }
77
78 d = requests.get(API_URL, params = params_func)
79 d = d.json()
80 pprint(d)
81
82 for k in d['data']:
83 checkFunction(k)