recommend_clothes.py
4.59 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
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("padding,yasang,jacket,pola,neet,gimo")
print("쌀쌀한 날씨입니다.\n생각보다 추워요!")
cold_danger=1
elif min(sens_temper) < -3 and min(sens_temper)>=-10:
print("padding,yasang,jacket,pola,neet,gimo")
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("일교차에 유의하세요!\n추위에 약한 분들은 외투 하나 더 챙기세요!")
elif max(sens_temper) >= 13 and max(sens_temper) <= 15:
print("트렌치코트,간절기 야상,후드티,여러겹 레이어드")
if min(sens_temper) < 5:
print("일교차에 유의하세요!\n추위에 약한 분들은 외투 하나 더 챙기세요!")
elif max(sens_temper) >= 12 and max(sens_temper) <= 16:
print("자켓,셔츠,가디건,후드(사계절)")
if min(sens_temper) < 6:
print("일교차에 유의하세요!\n추위에 약한 분들은 외투 하나 더 챙기세요!")
elif max(sens_temper) >= 17 and max(sens_temper) <= 19:
print("가디건,니트,맨투맨,후드티,면바지,슬랙스,원피스")
if min(sens_temper) < 9:
print("일교차에 유의하세요!\n얇은 외투 챙겨가세요!")
elif max(sens_temper) >= 20 and max(sens_temper) <= 22:
print("긴팔티,후드티,면바지,슬랙스")
if min(sens_temper) < 11:
print("일교차에 유의하세요!\n얇은 외투 챙겨가세요!")
elif max(sens_temper) >= 23 and max(sens_temper) <= 26:
print("반팔티,얇은 셔츠,얇은 긴팔티,반바지,면바지")