recommend_clothes.py
4.69 KB
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
from bs4 import BeautifulSoup
from urllib.request import urlopen
import openpyxl
import datetime
import sys
# coding = utf-8
filename = "area_code.xlsx" # area_code.xlsx
book = openpyxl.load_workbook(filename)
sheet = book.worksheets[0]
code = []
for cell in sheet['E']:
code.append(cell.value)
sys.stdin.reconfigure(encoding='utf-8')
sys.stdout.reconfigure(encoding='utf-8')
area = input()
col = code.index(area)
area_code_index = 'B' + str(col+1)
area_code = sheet[area_code_index].value
#print(area_code)
now = datetime.datetime.now()
nowDate = now.strftime('%Y%m%d') #20191201형태로 연월일 받음
#print(nowDate)
url = "http://newsky2.kma.go.kr/iros/RetrieveLifeIndexService3/getSensorytemLifeList?serviceKey=UwTMv516Y0zIgZCDqzdPtf1jmbv287%2BOn1kqxcZizw8%2Be5OV5UmIc09icqMqSpEMbHOiCWoPK%2BZVD%2Bjbc%2BwgBg%3D%3D&areaNo=" + area_code + "&time=" + nowDate + "03"
result = urlopen(url)
html = result.read()
soup = BeautifulSoup(html, 'html.parser')
"""
warm_url="http://newsky2.kma.go.kr/iros/RetrieveLifeIndexService3/getSensoryHeatLifeList?ServiceKey=UwTMv516Y0zIgZCDqzdPtf1jmbv287%2BOn1kqxcZizw8%2Be5OV5UmIc09icqMqSpEMbHOiCWoPK%2BZVD%2Bjbc%2BwgBg%3D%3D&areaNo" + area_code + "&requestCode=A20&time=" + nowDate + "06"
warm_result = urlopen(url)
warm_html=result.read()
warm_soup=BeautifulSoup(warm_html,'html.parser')
warm_hours=["h3","h6","h9","h12","h15","h18","h21"]
sens_temper_warm=[]#더위 체감 지수
warm_danger=0 #겨울 경우 위험도
현재 12월 기준으로는 더위 체감 지수는 제공 되고 있지 않다.
"""
contents = soup.find("date")
hours = ["h3","h6","h9","h12","h15","h18","h21","h24"] # date의 시간으로부터 n시간 이후의 예측온도
sens_temper = [] #체감온도
# 2019120103: 19년 12월 1일 새벽 3시 기준이므로 리스트에는 6시, 9시, ..., 익일 3시까지의 예측 체감온도가 저장됨.
#sens_temper[06시온도,09시온도,12시온도,15시온도,18시온도,21시온도,24시온도,익일03시온도]
cold_danger=0 #추울 경우 위험도 숫자가 커질수록 증가
for i in range(0, len(hours)):
temper = soup.find(hours[i])
sens_temper.append(int(temper.text))
print(min(sens_temper), "\n", max(sens_temper), "\n", sum(sens_temper)//8)
if max(sens_temper) <= 8:
if min(sens_temper) >= -3 and min(sens_temper) <=2:
print("패딩, 겨울야상, 양털자켓, 폴라티, 니트, 기모바지")
print("쌀쌀한 날씨입니다. 생각보다 추워요!")
cold_danger=1
elif min(sens_temper) < -3 and min(sens_temper)>=-10:
print("패딩, 겨울야상, 양털자켓, 폴라티, 니트, 기모바지")
print("마스크, 목도리, 장갑을 착용하세요!")
cold_danger=2
if min(sens_temper) < -10 and min(sens_temper)>=-15:
print("피부를 되도록 노출하지 마세요")
print("최대한 따뜻하게 입고 다니세요")
cold_danger=3
elif (min(sens_temper)<-15):
print("외출을 자제해 주세요")
print("외출시 내복 및 옷을 겹겹이 입어 주시고 많이 움직여 주세요")
cold_danger=4
elif min(sens_temper) > 2:
print("패딩, 겨울야상, 양털자켓, 폴라티, 니트, 기모바지, 스타킹")
print("외투 안에는 가벼운 옷을 추천해요!")
if max(sens_temper) >= 8 and max(sens_temper) <= 13:
print("코트, 가죽자켓, 맨투맨, 티셔츠(사계절), 바지(사계절)")
if min(sens_temper) < 3:
print("일교차에 유의하세요! 추위에 약한 분들은 외투 하나 더 챙기세요!")
elif max(sens_temper) >= 13 and max(sens_temper) <= 15:
print("트렌치코트, 간절기 야상, 후드티, 여러겹 레이어드")
if min(sens_temper) < 5:
print("일교차에 유의하세요! 추위에 약한 분들은 외투 하나 더 챙기세요!")
elif max(sens_temper) >= 12 and max(sens_temper) <= 16:
print("자켓, 셔츠, 가디건, 후드(사계절)")
if min(sens_temper) < 6:
print("일교차에 유의하세요! 추위에 약한 분들은 외투 하나 더 챙기세요!")
"""
elif max(sens_temper) >= 17 and max(sens_temper) <= 19:
print("가디건, 니트, 맨투맨, 후드티, 면바지, 슬랙스, 원피스")
if min(sens_temper) < 9:
print("일교차에 유의하세요! 얇은 외투 챙겨가세요!")
elif max(sens_temper) >= 20 and max(sens_temper) <= 22:
print("긴팔티, 후드티, 면바지, 슬랙스")
if min(sens_temper) < 11:
print("일교차에 유의하세요! 얇은 외투 챙겨가세요!")
elif max(sens_temper) >= 23 and max(sens_temper) <= 26:
print("반팔티, 얇은 셔츠, 얇은 긴팔티, 반바지, 면바지")
"""