-
Notifications
You must be signed in to change notification settings - Fork 0
/
update_cp_data.py
48 lines (41 loc) · 1.2 KB
/
update_cp_data.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
import requests as r
from bs4 import BeautifulSoup
import pandas as pd
def cp_update():
session = r.Session()
s = session.get('https://clist.by/')
soup = BeautifulSoup(s.content, 'html.parser')
events = soup.find_all('div', class_='contest')
data = {}
category = []
name = []
date_time = []
length = []
link = []
location = []
type_ = []
for event in events:
ev = event.find('a', class_="data-ace")['data-ace']
s = str(ev)
s = s.split('"')
category.append('Contest')
name.append(s[3])
date_time.append( s[17] +'( IST )' )
st = pd.to_datetime(s[17])
en = pd.to_datetime(s[21])
length.append(en-st)
link.append( s[7].split(' ')[1] )
location.append('Everywhere, Worldwide' )
type_.append( 'Digital Only' )
cp_data = {
'Category':category,
'Name':name,
'Date/Time':date_time,
'Length':length,
'Link':link,
'Location':location,
'Type':type_
}
df_cp = pd.DataFrame(cp_data)
df_cp.to_csv('data_cp.csv', mode='w', index=False)
return 'Data Updated'