728x90
>이렇게 완성시켰다. 처음만든 프로그램이라 여러모로 뿌듯하고 무언가를 만들어봤다는 게 굉장히 도움되었다. 왜 사람들이 언어를 배우면 무조건 하나의 프로그램을 만들어보라는 지 알았다.
>
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
from time import sleep
import pandas as pd
import cv2
driver=webdriver.Chrome(r"C:\Users\dlagu\Desktop\chromdriver\chromedriver.exe")#r을 안붙이면 문법오류:유니코드가 나옴
driver.get("https://sportal.korea.ac.kr/default.aspx")
sleep(0.5)
driver.find_element_by_name('id').send_keys('아이디')
sleep(0.5)
driver.find_element_by_name('pw').send_keys('비밀번호')
driver.find_element_by_xpath('//*[@id="mainloginbtn"]').click()
driver.find_element_by_xpath('//*[@id="contents"]/div[1]/a/img').click()
html=driver.page_source
soup=BeautifulSoup(html,'html.parser')
title_list=soup.find_all('a','d-inlin-block text-truncate w-100')
mile_list=soup.find_all('div','mileage')
src_list=soup.find_all('div','col-7 departmentname mt-2')
date_list=soup.find_all('div','col-7 date')
dead_list=soup.find_all('div','deadLine')
i = 0
for content in title_list:
title_list[i] = title_list[i].contents[0]
i += 1
i = 0
for content in mile_list:
mile_list[i] = mile_list[i].contents[0]
i += 1
i = 0
for content in src_list:
src_list[i] = src_list[i].contents[0]
i += 1
i = 0
for content in date_list:
date_list[i] = date_list[i].contents[0]
i += 1
i = 0
for content in dead_list:
dead_list[i] = dead_list[i].contents[0]
i += 1
result_list=[-1]*30
Con_list=[
['title',title_list],
['date',date_list],
['deadline',dead_list],
['src',src_list],
['mileage',mile_list],
['result',result_list]
]
Con_df=pd.DataFrame.from_items(Con_list)
Con_df.to_csv('my_contest.csv',na_rep='-')
my_timetable=cv2.imread('friend1.jpg',cv2.IMREAD_COLOR)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[40,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_9_list = test_list[:]
print(time_9_list)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[130,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_10_list = test_list[:]
print(time_10_list)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[210,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_11_list = test_list[:]
print(time_11_list)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[300,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_12_list = test_list[:]
print(time_12_list)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[390,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_1_list = test_list[:]
print(time_1_list)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[480,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_2_list = test_list[:]
print(time_2_list)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[570,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_3_list = test_list[:]
print(time_3_list)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[660,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_4_list = test_list[:]
print(time_4_list)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[750,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_5_list = test_list[:]
print(time_5_list)
test_list=[None,None,None,None,None,None,None]
for i in range(0,5):
px=my_timetable[840,140+i*120]
if px[0]!=255 or px[1]!=255 or px[2]!=255:
test_list[i]="using"
time_6_list = test_list[:]
print(time_6_list)
timetable = [ time_9_list, time_10_list, time_11_list, time_12_list, time_1_list, time_2_list, time_3_list, time_4_list, time_5_list, time_6_list]
Day = ['월','화','수','목','금','토','일']
Time=['09','10','11','12','13','14','15','16','17','18']
schedule = pd.DataFrame.from_records(timetable, columns=Day,index=Time)
schedule.to_csv('my_timetable.csv',na_rep='-')
num=0
Con_df['Point']=0
Con_df['result']=1
for date in Con_df['date']:
if len(Con_df['mileage'][num])==6:
Con_df['Point'][num]+=int(Con_df['mileage'][num][0:2])
Con_df['mileage'][num][0:2]
elif len(Con_df['mileage'][num])==5:
Con_df['Point'][num]+=int(Con_df['mileage'][num][0:1])
if len(date)==34:
week=date[18:19]
time=date[21:23]
Con_df['Point'][num]+=50
if time=='09'or time=='10'or time=='11'or time=='12'or time=='13'or time=='14'or time=='15'or time=='16'or time=='17'or time=='18':
if schedule[week][time]==None:
Con_df['result'][num]=True
Con_df['Point'][num]+=100
num+=1
else:
Con_df['result'][num]=False
num+=1
else:
Con_df['result'][num]=True
Con_df['Point'][num]+=100
num+=1
elif len(date)==48:
week=date[40:41]
time=date[43:45]
Con_df['Point'][num]+=25
if time=='09'or time=='10'or time=='11'or time=='12'or time=='13'or time=='14'or time=='15'or time=='16'or time=='17'or time=='18':
if schedule[week][time]==None:
Con_df['result'][num]=True
Con_df['Point'][num]+=100
num+=1
else:
Con_df['result'][num]=False
num+=1
else:
Con_df['result'][num]=True
Con_df['Point'][num]+=100
num+=1
elif len(date)==36:
week=date[18:19]
Con_df['Point'][num]+=75
if schedule[week]['16']==None:
Con_df['result'][num]=True
Con_df['Point'][num]+=100
num+=1
else:
Con_df['result'][num]=False
num+=1
Final=Con_df[Con_df.result==True]
Final.to_csv('final_des.csv')
>하지만 이 프로그램은 굉장히 엉성하고 좋은 코드라고는 볼 수 없다. 목표는 이 프로그램을 시점으로 해서 어플로 만들어서 학교에서 직접 사용할 수 있도록 하는 것이다.
>이때 아쉬웠던 게 github를 사용해서 버젼별로 개발과정을 보여줄 수 있기를 원했는데 그때는 사용법을 몰라서 못했다. 따라서 다음 프로젝트는 git, github를 알고 직접 사용하면서 다다음 프로젝트에서는 이걸 통해 버젼벌로 개발 되어가는 걸 남기고 싶다.
728x90
'Before 2020 > 프로젝트' 카테고리의 다른 글
생활코딩의 Git 과 Git hub - GIT 1,2 강의정리 (0) | 2020.01.12 |
---|---|
코드스쿼드의 Git과 Git hub 강의정리 (0) | 2020.01.12 |
Project 1-4) 허민석의 판다스 기초 정리 (0) | 2020.01.09 |
Project 1-3) 동빈나의 웹크롤링 정리 (0) | 2020.01.09 |
Project 1-2) 생활코딩-WEB1,WEB2,JAVASCRIPT,PYTHON 정리 (0) | 2020.01.09 |