-
Notifications
You must be signed in to change notification settings - Fork 0
/
vprognoze_api.py
201 lines (183 loc) · 7.51 KB
/
vprognoze_api.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
import requests
from bs4 import BeautifulSoup
import datetime
def get_and_parse_url(url):
return BeautifulSoup(requests.get(url).text, 'lxml')
def get_predicts(soup):
return soup.find_all('div', class_="mini-tip__head")
def get_teams(predict):
return predict.find('a', class_="mini-tip__teams").text
def get_tournament(predict):
return predict.find('div', class_="mini-tip__league").text
def get_bet(predict):
return predict.find('div', class_="mini-tip__bet").text.split(' @')[0]
def get_persent(predict):
return predict.find('div', class_="mini-tip__profit").text[5:-1]
def is_started(predict):
predict_date = predict.find('div', class_="ui-date__day").text.split('-')
predict_time = predict.find('div', class_="ui-date__hour").text.split(':')
if (datetime.datetime.now() - datetime.datetime(year=2021,
month=int(predict_date[1]),
day=int(predict_date[0]),
hour=int(predict_time[0]),
minute=int(predict_time[1]))).total_seconds() < -500:
return False
else:
return True
def convert21x(bet_name):
if 'ФОРА' in bet_name:
if 'по очкам' in bet_name:
return [
'Фора',
bet_name.replace('ФОРА', '').replace('по очкам (', '').replace(')', '')
]
elif 'по партиям' in bet_name:
return [
'Фора по партиям',
bet_name.replace('ФОРА', '').replace('по партиям (', '').replace(')', '')
]
elif 'по сетам' in bet_name:
return [
'Фора по сетам',
bet_name.replace('ФОРА', '').replace('по сетам (', '').replace(')', '')
]
else:
return [
'Фора',
bet_name.replace('ФОРА', '').replace('(', '').replace(')', '')
]
elif 'ТБ' in bet_name:
if 'ИТБ' in bet_name:
if 'по очкам' in bet_name:
if bet_name[3] == 1:
return [
'Индивидуальный тотал 1-го',
bet_name.replace('ИТБ1 по очкам (', '').replace(')', '') + ' Б'
]
elif bet_name[3] == 2:
return [
'Индивидуальный тотал 2-го',
bet_name.replace('ИТБ2 по очкам (', '').replace(')', '') + ' Б'
]
else:
if bet_name[3] == 1:
return [
'Индивидуальный тотал 1-го',
bet_name.replace('ИТБ1 (', '').replace(')', '') + ' Б'
]
elif bet_name[3] == 2:
return [
'Индивидуальный тотал 2-го',
bet_name.replace('ИТБ2 (', '').replace(')', '') + ' Б'
]
elif 'по очкам' in bet_name:
return [
'Тотал',
bet_name.replace('ТБ по очкам (', '').replace(')', '') + ' Б'
]
elif 'по партиям' in bet_name:
return [
'Тотал партий',
bet_name.replace('ТБ по партиям (', '').replace(')', '') + ' Б'
]
elif 'по сетам' in bet_name:
return [
'Тотал сетов',
bet_name.replace('ТБ по сетам (', '').replace(')', '') + ' Б'
]
else:
return [
'Тотал',
bet_name.replace('ТБ (', '').replace(')', '') + ' Б'
]
elif 'ТМ' in bet_name:
if 'ИТМ' in bet_name:
if 'по очкам' in bet_name:
if bet_name[3] == 1:
return [
'Индивидуальный тотал 1-го',
bet_name.replace('ИТМ1 по очкам (', '').replace(')', '') + ' М'
]
elif bet_name[3] == 2:
return [
'Индивидуальный тотал 2-го',
bet_name.replace('ИТМ2 по очкам (', '').replace(')', '') + ' М'
]
else:
if bet_name[3] == 1:
return [
'Индивидуальный тотал 1-го',
bet_name.replace('ИТМ1 (', '').replace(')', '') + ' М'
]
elif bet_name[3] == 2:
return [
'Индивидуальный тотал 2-го',
bet_name.replace('ИТМ2 (', '').replace(')', '') + ' М'
]
elif 'по очкам' in bet_name:
return [
'Тотал',
bet_name.replace('ТМ по очкам (', '').replace(')', '') + ' М'
]
elif 'по партиям' in bet_name:
return [
'Тотал партий',
bet_name.replace('ТМ по партиям (', '').replace(')', '') + ' М'
]
elif 'по сетам' in bet_name:
return [
'Тотал сетов',
bet_name.replace('ТМ по сетам (', '').replace(')', '') + ' М'
]
else:
return [
'Тотал',
bet_name.replace('ТМ (', '').replace(')', '') + ' М'
]
elif 'Тотал' in bet_name:
if 'по геймам' in bet_name:
if 'больше' in bet_name:
return [
'Тотал',
bet_name.replace('Тотал по геймам больше (', '').replace(')', '') + ' Б'
]
else:
return [
'Тотал',
bet_name.replace('Тотал по геймам меньше (', '').replace(')', '') + ' М'
]
else:
return None
elif 'с ОТ' in bet_name:
return [
'Победа в матче',
bet_name.replace(' с ОТ', '')
]
elif 'Точный счет' in bet_name:
return [
'Точный счет',
bet_name.replace('Точный счет ', '').replace(':', '-')
]
elif 'П' in bet_name:
return [
'1X2',
bet_name
]
elif 'Обе команды забьют' in bet_name:
return [
'Обе забьют',
bet_name.replace('Обе команды забьют: ', '')
]
elif 'Двойной шанс' in bet_name:
return [
'Двойной шанс',
bet_name.replace('Двойной шанс ', '')
]
return None
if __name__ == '__main__':
predicts1 = get_predicts(get_and_parse_url('https://vprognoze.ru/user/MoneyMachine/'))
print(get_teams(predict=predicts1[0]))
print(get_tournament(predict=predicts1[0]))
print(is_started(predict=predicts1[0]))
print(get_persent(predict=predicts1[0]))
print(convert21x(bet_name=get_bet(predict=predicts1[0])))