Last active
February 19, 2018 11:04
-
-
Save fregmented/8472b3d68d416b519d5b50b26db3374d to your computer and use it in GitHub Desktop.
SK플래닛 Weather Planet에서 날씨정보 받아오는 파이썬 스크립트입니다. 기상청 AWS station명으로 분단위 실시간 기상정보를 받아옵니다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from requests import get | |
from enum import IntEnum | |
SK_PLANET_APP_KEY = "KEEEEEEY" | |
class Stations(IntEnum): | |
def __str__(self): | |
return "{}".format(self.value) | |
속초 = 90 | |
양양공항 = 92 | |
북춘천 = 93 | |
철원 = 95 | |
독도 = 96 | |
동두천 = 98 | |
파주 = 99 | |
대관령 = 100 | |
춘천 = 101 | |
백령도 = 102 | |
북강릉 = 104 | |
강릉 = 105 | |
동해 = 106 | |
서울 = 108 | |
김포공항 = 110 | |
인천 = 112 | |
인천공항 = 113 | |
원주 = 114 | |
울릉도 = 115 | |
관악레이더 = 116 | |
수원 = 119 | |
영월 = 121 | |
충주 = 127 | |
서산 = 129 | |
울진 = 130 | |
청주 = 131 | |
대전 = 133 | |
추풍령 = 135 | |
안동 = 136 | |
상주 = 137 | |
포항 = 138 | |
군산 = 140 | |
대구 = 143 | |
전주 = 146 | |
울산공항 = 151 | |
울산 = 152 | |
창원 = 155 | |
광주 = 156 | |
부산 = 159 | |
부산레이더 = 160 | |
통영 = 162 | |
무안공항 = 163 | |
목포 = 165 | |
여수공항 = 167 | |
여수 = 168 | |
흑산도 = 169 | |
완도 = 170 | |
고창 = 172 | |
순천 = 174 | |
첨찰산 = 175 | |
홍성 = 177 | |
제주공항 = 182 | |
제주 = 184 | |
고산 = 185 | |
성산 = 188 | |
서귀포 = 189 | |
진주 = 192 | |
강화 = 201 | |
양평 = 202 | |
이천 = 203 | |
인제 = 211 | |
홍천 = 212 | |
태백 = 216 | |
정선군 = 217 | |
제천 = 221 | |
보은 = 226 | |
북격렬비도 = 229 | |
천안 = 232 | |
보령 = 235 | |
부여 = 236 | |
금산 = 238 | |
부안 = 243 | |
임실 = 244 | |
정읍 = 245 | |
남원 = 247 | |
장수 = 248 | |
고창군 = 251 | |
영광군 = 252 | |
김해시 = 253 | |
순창군 = 254 | |
북창원 = 255 | |
양산시 = 257 | |
보성군 = 258 | |
강진군 = 259 | |
장흥 = 260 | |
해남 = 261 | |
고흥 = 262 | |
의령군 = 263 | |
함양군 = 264 | |
광양시 = 266 | |
진도군 = 268 | |
봉화 = 271 | |
영주 = 272 | |
문경 = 273 | |
청송군 = 276 | |
영덕 = 277 | |
의성 = 278 | |
구미 = 279 | |
영천 = 281 | |
경주시 = 283 | |
거창 = 284 | |
합천 = 285 | |
밀양 = 288 | |
산청 = 289 | |
거제 = 294 | |
남해 = 295 | |
말도 = 300 | |
임자도 = 301 | |
장산도 = 302 | |
가거도 = 303 | |
신지도 = 304 | |
여서도 = 305 | |
소리도 = 306 | |
옥도 = 308 | |
궁촌 = 310 | |
가야산 = 311 | |
주왕산 = 312 | |
양지암 = 313 | |
덕유봉 = 314 | |
성삼재 = 315 | |
무등산 = 316 | |
모악산 = 317 | |
용평 = 318 | |
천부 = 319 | |
향로봉 = 320 | |
원통 = 321 | |
상서 = 322 | |
마현 = 323 | |
송계 = 324 | |
백운 = 325 | |
용문산 = 326 | |
우암산 = 327 | |
중문 = 328 | |
아라 = 329 | |
대흘 = 330 | |
남면 = 351 | |
장흥면 = 352 | |
덕정동 = 353 | |
서탄면 = 355 | |
고덕면 = 356 | |
현덕면 = 358 | |
선단동 = 359 | |
내촌면 = 360 | |
영중면 = 361 | |
분당구 = 364 | |
석수동 = 365 | |
오전동 = 366 | |
신현동 = 367 | |
수택동 = 368 | |
수리산길 = 369 | |
이동묵리 = 370 | |
기흥구 = 371 | |
은현면 = 372 | |
남방 = 373 | |
청북 = 374 | |
백석읍 = 375 | |
강남 = 400 | |
서초 = 401 | |
강동 = 402 | |
송파 = 403 | |
강서 = 404 | |
양천 = 405 | |
도봉 = 406 | |
노원 = 407 | |
동대문 = 408 | |
중랑 = 409 | |
기상청 = 410 | |
마포 = 411 | |
서대문 = 412 | |
광진 = 413 | |
성북 = 414 | |
용산 = 415 | |
은평 = 416 | |
금천 = 417 | |
한강 = 418 | |
중구 = 419 | |
성동 = 421 | |
북악산 = 422 | |
구로 = 423 | |
강북 = 424 | |
남현 = 425 | |
경기 = 430 | |
신곡 = 431 | |
향남 = 432 | |
부천 = 433 | |
안양 = 434 | |
고잔 = 435 | |
역삼 = 436 | |
광명 = 437 | |
군포 = 438 | |
태안진안 = 439 | |
설봉 = 440 | |
김포 = 441 | |
지월 = 442 | |
보개 = 443 | |
하남 = 444 | |
의왕 = 445 | |
남촌 = 446 | |
북내 = 447 | |
산북 = 448 | |
양평옥천 = 449 | |
주교 = 450 | |
오남 = 451 | |
신북 = 452 | |
소하 = 453 | |
하봉암 = 454 | |
읍내 = 455 | |
연천 = 456 | |
춘궁 = 457 | |
퇴촌 = 458 | |
오포 = 459 | |
실촌 = 460 | |
마장 = 461 | |
모가 = 462 | |
흥천 = 463 | |
점동 = 464 | |
가남 = 465 | |
금사 = 466 | |
양성 = 467 | |
서운 = 468 | |
일죽 = 469 | |
고삼 = 470 | |
송탄 = 471 | |
포승 = 472 | |
포천가산 = 473 | |
영북 = 474 | |
관인 = 475 | |
화현 = 476 | |
상패 = 477 | |
왕징 = 478 | |
장남 = 479 | |
미산 = 480 | |
탄현 = 481 | |
광탄 = 482 | |
진동 = 483 | |
창현 = 484 | |
신천 = 485 | |
외서 = 486 | |
대곶 = 487 | |
송산 = 488 | |
서신 = 489 | |
초성리 = 490 | |
군남 = 491 | |
학온동 = 492 | |
세종고운 = 494 | |
하개정 = 495 | |
세종금남 = 496 | |
삽당령 = 497 | |
구룡령 = 498 | |
중면 = 499 | |
양도 = 500 | |
대연평 = 501 | |
교동 = 502 | |
도라산 = 503 | |
포천 = 504 | |
가평조종 = 505 | |
금촌 = 506 | |
창수 = 507 | |
왕산 = 508 | |
관악 = 509 | |
영등포 = 510 | |
공촌동 = 511 | |
인천연수 = 512 | |
덕적도 = 513 | |
대부도 = 514 | |
운평 = 515 | |
안성 = 516 | |
간성 = 517 | |
해안 = 518 | |
사내 = 519 | |
설악동 = 520 | |
강현 = 521 | |
화촌 = 522 | |
주문진 = 523 | |
강문 = 524 | |
봉평 = 525 | |
평창 = 526 | |
신동 = 527 | |
백령면 = 528 | |
원덕 = 529 | |
태하 = 530 | |
가평북면 = 531 | |
의정부 = 532 | |
신둔 = 533 | |
장호원 = 534 | |
서석 = 535 | |
횡성 = 536 | |
임계 = 537 | |
신서 = 538 | |
포천이동 = 539 | |
고양 = 540 | |
남양주 = 541 | |
청평 = 542 | |
영종도 = 543 | |
전곡항 = 544 | |
안산 = 545 | |
경기광주 = 546 | |
양동 = 547 | |
여주 = 548 | |
용인 = 549 | |
오산 = 550 | |
평택 = 551 | |
김화 = 552 | |
대진 = 553 | |
미시령 = 554 | |
화천 = 555 | |
양구 = 556 | |
기린 = 557 | |
팔봉 = 558 | |
내면 = 559 | |
진부 = 560 | |
청일 = 561 | |
영월주천 = 562 | |
북평 = 563 | |
시흥 = 565 | |
연곡 = 566 | |
적성 = 567 | |
일동 = 568 | |
구리 = 569 | |
금곡 = 570 | |
화성 = 571 | |
성남 = 572 | |
청운 = 573 | |
대신 = 574 | |
용인이동 = 575 | |
백암 = 576 | |
장봉도 = 577 | |
호도 = 578 | |
하장 = 579 | |
옥계 = 580 | |
상동 = 581 | |
신림 = 582 | |
안흥 = 583 | |
신남 = 585 | |
북산 = 586 | |
방산 = 587 | |
남산 = 588 | |
능곡 = 589 | |
과천 = 590 | |
치악산 = 591 | |
부론 = 592 | |
양양영덕 = 593 | |
서화 = 594 | |
진부령 = 595 | |
오색 = 596 | |
대화 = 597 | |
양주 = 598 | |
광릉 = 599 | |
금왕 = 600 | |
단양 = 601 | |
진천 = 602 | |
괴산 = 603 | |
옥천 = 604 | |
영동 = 605 | |
대산 = 606 | |
근흥 = 607 | |
홍북 = 608 | |
삽시도 = 609 | |
홍성죽도 = 610 | |
세종연서 = 611 | |
공주 = 612 | |
서천 = 614 | |
논산 = 615 | |
당진 = 616 | |
성거 = 617 | |
청양 = 618 | |
음성 = 619 | |
엄정 = 620 | |
수산 = 621 | |
수안보 = 622 | |
증평 = 623 | |
상당 = 624 | |
속리산 = 625 | |
옥천청산 = 626 | |
태안 = 627 | |
예산 = 628 | |
세종전의 = 629 | |
노은 = 630 | |
송도 = 631 | |
유구 = 632 | |
정안 = 633 | |
아산 = 634 | |
양화 = 635 | |
계룡 = 636 | |
신평 = 637 | |
영춘 = 638 | |
덕산 = 639 | |
청천 = 640 | |
대청 = 641 | |
문화 = 642 | |
세천 = 643 | |
연무 = 644 | |
서부 = 645 | |
춘장대 = 646 | |
가곡 = 647 | |
장동 = 648 | |
부평 = 649 | |
양지 = 650 | |
외촌 = 651 | |
연천청산 = 652 | |
자월도 = 654 | |
소청도 = 655 | |
볼음도 = 656 | |
대천항 = 657 | |
만리포 = 658 | |
계룡산 = 659 | |
면온 = 660 | |
현내 = 661 | |
승봉도 = 662 | |
목덕도 = 663 | |
영흥도 = 664 | |
무의도 = 665 | |
안도 = 666 | |
옹도 = 667 | |
외연도 = 669 | |
양양 = 670 | |
청호 = 671 | |
상하 = 672 | |
진영 = 673 | |
사북 = 674 | |
남이섬 = 675 | |
위성센터 = 676 | |
평화 = 680 | |
원동 = 681 | |
임남 = 682 | |
오창가곡 = 683 | |
춘천신북 = 684 | |
강정 = 685 | |
대곡 = 686 | |
봉산 = 688 | |
풍산 = 690 | |
정산 = 691 | |
백학 = 692 | |
오창 = 693 | |
원효봉 = 694 | |
광덕산 = 695 | |
신기 = 696 | |
서거차도 = 697 | |
해제 = 698 | |
무안 = 699 | |
어청도 = 700 | |
무주 = 701 | |
익산 = 702 | |
진안 = 703 | |
변산 = 704 | |
담양 = 706 | |
지도 = 707 | |
광산 = 708 | |
구례 = 709 | |
나주 = 710 | |
이양 = 711 | |
순천시 = 712 | |
광양읍 = 713 | |
자은도 = 714 | |
하의도 = 716 | |
의신 = 717 | |
상조도 = 718 | |
선유도 = 719 | |
보길도 = 720 | |
금일 = 721 | |
조선대 = 722 | |
거문도 = 723 | |
추자도 = 724 | |
우도 = 725 | |
마라도 = 726 | |
유수암 = 727 | |
장성 = 730 | |
영암 = 731 | |
보성 = 732 | |
함라 = 733 | |
완주 = 734 | |
덕유산 = 735 | |
진봉 = 736 | |
김제 = 737 | |
줄포 = 738 | |
심원 = 739 | |
화순 = 741 | |
운남 = 742 | |
비금 = 743 | |
산이 = 744 | |
성전 = 745 | |
땅끝 = 746 | |
청산도 = 747 | |
벌교 = 748 | |
도양 = 749 | |
백야 = 750 | |
선흘 = 751 | |
서광 = 752 | |
어리목 = 753 | |
함평 = 754 | |
화순북 = 755 | |
위도 = 756 | |
진안주천 = 757 | |
동향 = 758 | |
뱀사골 = 759 | |
복흥 = 760 | |
태인 = 761 | |
강진면 = 762 | |
여산 = 763 | |
신덕 = 764 | |
복내 = 765 | |
여수산단 = 766 | |
포두 = 767 | |
곡성 = 768 | |
염산 = 769 | |
다도 = 770 | |
안좌 = 771 | |
수유 = 772 | |
학산 = 773 | |
전남도청 = 774 | |
월야 = 775 | |
현산 = 776 | |
관산 = 777 | |
유치 = 778 | |
한림 = 779 | |
제주남원 = 780 | |
구좌 = 781 | |
성판악 = 782 | |
과기원 = 783 | |
시종 = 784 | |
북일 = 785 | |
돌산 = 786 | |
도화 = 787 | |
풍암 = 788 | |
압해도 = 789 | |
나로도 = 790 | |
피아골 = 791 | |
표선 = 792 | |
대정 = 793 | |
황전 = 794 | |
옥과 = 795 | |
초도 = 796 | |
하태도 = 797 | |
홍도 = 798 | |
낙월도 = 799 | |
후포 = 800 | |
영양 = 801 | |
온정 = 802 | |
옥산 = 803 | |
청하 = 804 | |
죽장 = 805 | |
선산 = 806 | |
의흥 = 807 | |
호미곶 = 808 | |
대덕 = 809 | |
성주 = 810 | |
황성 = 811 | |
고령 = 812 | |
청도 = 813 | |
부석 = 814 | |
예천 = 815 | |
구룡포 = 816 | |
수비 = 817 | |
마성 = 818 | |
예안 = 819 | |
하회 = 820 | |
공성 = 821 | |
김천 = 822 | |
군위 = 823 | |
칠곡가산 = 824 | |
칠곡 = 825 | |
신령 = 826 | |
경산 = 827 | |
달성 = 828 | |
외동 = 829 | |
기계 = 830 | |
석포 = 831 | |
안계 = 832 | |
은척 = 833 | |
화서 = 834 | |
봉화읍 = 835 | |
현서 = 836 | |
이산 = 837 | |
동로 = 838 | |
길안 = 839 | |
하양 = 840 | |
화북 = 841 | |
산내 = 842 | |
금강송 = 843 | |
영덕읍 = 844 | |
대구북구 = 845 | |
서구 = 846 | |
소보 = 847 | |
청도금천 = 848 | |
지보 = 849 | |
감포 = 850 | |
소곡 = 851 | |
죽변 = 852 | |
팔공산 = 853 | |
삼동 = 854 | |
가파도 = 855 | |
광양백운산 = 856 | |
완도읍 = 857 | |
지산 = 858 | |
토함산 = 859 | |
신암 = 860 | |
월정 = 861 | |
김녕 = 862 | |
외도 = 863 | |
완산 = 864 | |
오등 = 865 | |
용강 = 866 | |
삼각봉 = 867 | |
사제비 = 868 | |
영실 = 869 | |
진달래밭 = 870 | |
윗세오름 = 871 | |
지리산 = 872 | |
원주백운산 = 873 | |
동송 = 874 | |
설악산 = 875 | |
삼척 = 876 | |
문막 = 877 | |
도계 = 878 | |
스키점프 = 879 | |
금악 = 880 | |
새만금 = 881 | |
상무대 = 882 | |
봉성 = 883 | |
과천기상청 = 884 | |
태풍센터 = 885 | |
군산산단 = 886 | |
세종연기 = 887 | |
청남대 = 888 | |
현충원 = 889 | |
신례 = 890 | |
색달 = 891 | |
두서 = 900 | |
울기 = 901 | |
시천 = 902 | |
도천 = 903 | |
사상 = 904 | |
양산상북 = 905 | |
화개 = 906 | |
삼천포 = 907 | |
진해 = 908 | |
서이말 = 909 | |
영도 = 910 | |
매물도 = 911 | |
백천 = 912 | |
상주면 = 913 | |
서하 = 914 | |
삼가 = 915 | |
단성 = 916 | |
사천 = 917 | |
고성 = 918 | |
창녕 = 919 | |
함안 = 920 | |
가덕도 = 921 | |
단장 = 922 | |
기장 = 923 | |
간절곶 = 924 | |
생림 = 925 | |
진북 = 926 | |
송백 = 927 | |
개천 = 929 | |
사량도 = 930 | |
욕지도 = 931 | |
하동 = 932 | |
금남 = 933 | |
수곡 = 934 | |
청덕 = 935 | |
신포 = 936 | |
해운대 = 937 | |
부산진 = 938 | |
금정구 = 939 | |
동래 = 940 | |
북구 = 941 | |
대연 = 942 | |
매곡 = 943 | |
길곡 = 944 | |
대병 = 945 | |
북상 = 946 | |
명사 = 947 | |
삼장 = 948 | |
정자 = 949 | |
사하 = 950 | |
내장산 = 951 | |
장목 = 953 | |
온산 = 954 | |
서수도 = 955 | |
가대암 = 956 | |
십이동파 = 957 | |
갈매여 = 958 | |
해수서 = 959 | |
지귀도 = 960 | |
간여암 = 961 | |
광안 = 962 | |
이덕서 = 963 | |
풍도 = 966 | |
도리도 = 967 | |
남항 = 968 | |
북항 = 969 | |
def get_weather(station_name, get_alert_info=True): | |
try: | |
station_id = Stations[station_name] | |
req_params = { | |
'version': 2, 'stnid': station_id} | |
req_header = { | |
'Accept': "application/json", | |
'Content-Type': "application/json; charset=UTF-8", | |
'Accept-Encoding': "gzip, deflate, sdch", | |
'appKey': SK_PLANET_APP_KEY | |
} | |
req = get("https://api2.sktelecom.com/weather/current/minutely", | |
params=req_params, headers=req_header) | |
resp = req.json() | |
try: | |
if not resp.get("result").get("code") == 9200: | |
return resp.get("result").get("message") | |
except Exception as e: | |
return resp.get("error").get("message") | |
info = resp.get("weather").get("minutely")[0] | |
result_string = "관측소({}) {} 현재({}℃)/최고({}℃)/최저({}℃){}"\ | |
"풍속: {}m/s({}){}강수중: {} 강수량(현재): {}{}".format( | |
get_station_name(resp), | |
info.get("sky").get("name"), | |
info.get("temperature").get("tc"), | |
info.get("temperature").get("tmax"), | |
info.get("temperature").get("tmin"), | |
" 습도: {}% ".format(info.get("humidity"))\ | |
if info.get("humidity") | |
else " ", | |
info.get("wind").get("wspd"), | |
get_wind_direction(info.get("wind").get("wdir")), | |
" 기압: {}hPa ".format(info.get("pressure").get("surface"))\ | |
if info.get("pressure").get("surface")\ | |
else " ", | |
get_precipitation(info.get("precipitation")), | |
info.get("rain").get("sinceOntime") \ | |
if info.get("precipitation").get("type") == "1" or \ | |
info.get("precipitation").get("type") == "0" \ | |
else info.get("precipitation").get("sinceOntime"), | |
"mm"\ | |
if info.get("precipitation").get("type") == "1" or \ | |
info.get("precipitation").get("type") == "0" \ | |
else "cm" | |
) | |
if get_alert_info: | |
if resp.get("common").get("alertYn") == "Y": | |
result_string += get_alert(*get_station_coord(resp)) | |
if resp.get("common").get("stormYn") == "Y": | |
result_string += get_typhoon(*get_station_coord(resp)) | |
print(result_string) | |
return result_string | |
except Exception as e: | |
print("에러가 발생하였습니다.", e) | |
def get_station_coord(resp): | |
station = resp.get("weather").get("minutely")[0].get("station") | |
return station.get("latitude"), station.get("longitude") | |
def get_station_name(resp): | |
station = resp.get("weather").get("minutely")[0].get("station") | |
return "{}".format(station.get("name")) | |
def get_wind_direction(degree): | |
degree = float(degree) | |
if degree >= 348.75 or degree < 11.25: | |
return "N" | |
elif degree >= 11.25 or degree < 33.75: | |
return "NNE" | |
elif degree >= 33.75 or degree < 56.25: | |
return "NE" | |
elif degree >= 56.25 or degree < 78.75: | |
return "ENE" | |
elif degree >= 78.75 or degree < 101.25: | |
return "E" | |
elif degree >= 101.25 or degree < 123.75: | |
return "ESE" | |
elif degree >= 123.75 or degree < 146.25: | |
return "SE" | |
elif degree >= 146.25 or degree < 168.75: | |
return "SSE" | |
elif degree >= 168.75 or degree < 191.25: | |
return "S" | |
elif degree >= 191.25 or degree < 213.75: | |
return "SSW" | |
elif degree >= 213.75 or degree < 236.25: | |
return "SW" | |
elif degree >= 236.25 or degree < 258.75: | |
return "WSW" | |
elif degree >= 258.75 or degree < 281.25: | |
return "W" | |
elif degree >= 281.25 or degree < 303.75: | |
return "WNW" | |
elif degree >= 303.75 or degree < 326.25: | |
return "NW" | |
elif degree >= 326.25 or degree < 348.75: | |
return "NNW" | |
else: | |
return "WTF" | |
def get_precipitation(precipitation_info): | |
if precipitation_info.get("type") == "0": | |
return "아니오" | |
elif precipitation_info.get("type") == "1": | |
return "네(비)" | |
elif precipitation_info.get("type") == "2": | |
return "네(진눈깨비)" | |
elif precipitation_info.get("type") == "3": | |
return "네(눈)" | |
def get_alert(lat, lng): | |
try: | |
req_params = { | |
'version': 2, 'lat': lat, 'lon': lng} | |
req_header = { | |
'Accept': "application/json", | |
'Content-Type': "application/json; charset=UTF-8", | |
'Accept-Encoding': "gzip, deflate, sdch", | |
'appKey': SK_PLANET_APP_KEY | |
} | |
req = get("https://api2.sktelecom.com/weather/severe/alert", | |
params=req_params, headers=req_header) | |
resp = req.json() | |
try: | |
if not resp.get("result").get("code") == 9200: | |
return " 특보 에러: " + resp.get("result").get("message") | |
except Exception as e: | |
return " 특보 에러: " + resp.get("error").get("message") | |
info_list = resp.get("weather").get("alert") | |
result_string = " 특보 :" | |
if len(info_list) == 0: | |
return "" | |
for info in info_list: | |
string = " ({})발효시간: {}, 지역: {} 특보내용: {} 비고: {}".format( | |
info_list.index(info)+1, | |
info.get("timeRelease"), | |
info.get("areaName"), | |
info.get("alert60").get("t1"), | |
info.get("alert60").get("other") | |
) | |
print(string) | |
result_string += string | |
return result_string | |
except Exception as e: | |
print(e) | |
return " 날씨특보를 가져오는데 실패하였습니다." | |
def get_typhoon(lat, lng): | |
try: | |
req_params = { | |
'version': 1, 'lat': lat, 'lon': lng} | |
req_header = { | |
'Accept': "application/json", | |
'Accept-Encoding': "gzip, deflate, sdch", | |
'appKey': SK_PLANET_APP_KEY | |
} | |
req = get("https://api2.sktelecom.com/weather/severe/storm", | |
params=req_params, headers=req_header) | |
resp = req.json() | |
try: | |
if not resp.get("result").get("code") == 9200: | |
return " 특보 에러: " + resp.get("result").get("message") | |
except Exception as e: | |
return " 특보 에러: " + resp.get("error").get("message") | |
info_list = resp.get("weather").get("alert") | |
if len(info_list) == 0: | |
return "" | |
result_string = " 태풍정보 :" | |
for info in info_list: | |
string = " ({})태풍 제{}호({}) 태풍 등급: {} 현재 위치: {} 중심기압: {}hPa 최대풍속: {}m/s".format( | |
info_list.index(info)+1, | |
info.get("number"), | |
info.get("nameKor"), | |
info.get("status").get("level"), | |
info.get("status").get("loc"), | |
info.get("status").get("ps"), | |
info.get("status").get("ws") | |
) | |
result_string += string | |
return result_string | |
except Exception as e: | |
print(e) | |
return " 태풍정보를 가져오는데 실패하였습니다." | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment