# 1. Language/🌊 Python

텔레그램 챗봇 & 공공데이터 API

둥굴둥굴둥굴레차 2021. 2. 11. 17:19

🍔 텔레그램 챗봇

https://py.hphk.io/bots

코드를 수정하는 곳.

파이썬 챗봇의 답변을 제어할 수 있다.

해당 링크로 들어가서 ''안녕'' 혹은 ''점심 메뉴''의 코드 수정을 한 다음,

텔레그램**파이썬 챗봇**과의 대화에 ''안녕'' 혹은 ''점심 메뉴''를 치면

내가 입력한 코드대로 챗봇이 답장해준다.

 

🧇 공공데이터 포털사이트 API

공공데이터 API를 사용하기 위해선 우선데이터 사용신청을 해야한다.

 

공공데이터 신청하기

  1. 공공데이터 포털사이트 구글링 하여 사이트 들어가기
  2. 검색창에 '대기환경' 검색
  3. 오픈API 메뉴의한국환경공단 에어코리아 대기오염 정보"클릭
  4. 스크롤 내리면활용신청이 보임. 클릭!

이렇게 활용신청을 마친 후 1~2시간 뒤에 마이페이지의 신청내역에 들어가면 승인이 나 있을 것임.

 

미니실습 1

movie = {

    "movieInfo": {

        "movieNm": "광해, 왕이 된 남자",

        "movieNmEn": "Masquerade",

        "showTm": "131",

        "prdtYear": "2012",

        "openDt": "20120913",

        "typeNm": "장편",

        "nations": [

                {

                "nationNm": "한국"

                }

         ],

        "genres": [

                {

                "genreNm": "사극"

                },

                {

                "genreNm": "드라마"

                }

        ],

        "directors": [

                {

                "peopleNm": "추창민",

                "peopleNmEn": "CHOO Chang-min"

                }

        ],

        "actors": [

                {

                "peopleNm": "이병헌",

                "peopleNmEn": "LEE Byung-hun",

                "cast": "광해/하선"

                },

                {

                "peopleNm": "류승룡",

                "peopleNmEn": "RYU Seung-ryong",

                "cast": "허균"

                },

                {

                "peopleNm": "한효주",

                "peopleNmEn": "HAN Hyo-joo",

                "cast": "중전"

                }

        ]

        }

}

 

1. 영화의 제목을 출력하시오.

print(movie\[["movieInfo"](#)\]\["movieNm"\])

 

2. 다음 movie의 감독의 영어 이름을 출력하시오.

print(movie\[["movieInfo"](#)\]\["directors"\]\[[0](#)\]\['peopleNmEn'\])

directors가 리스트였다.{}를 []로 감싸는 모습은 리스트기 때문에.

3. 다음 movie의 배우의 인원을 출력하시오.

pprint.pprint(len(movie\[["movieInfo"](#)\]\["actors"\]))

len() ==>> 갯수 세어주는 메서드

 

미니실습 2

import pprint

coin = {

"BTC": {

"opening\_price": "44405000",
"closing\_price": "38806000",

"min\_price": "36640000",

"max\_price": "44999000",

"prev\_closing\_price": "44404000",

"fluctate\_24H": "-7463000",

"fluctate\_rate\_24H": "-16.13"

},

"ETH": {

"opening\_price": "1458000",

"closing\_price": "1229000",

"min\_price": "1100000",

"max\_price": "1490000",

"prev\_closing\_price": "1458000",

"fluctate\_24H": "-275000",

"fluctate\_rate\_24H": "-18.28"

},

"XRP": {

"opening\_price": "364.5",

"closing\_price": "311.9",

"min\_price": "284.2",

"max\_price": "372.7",

"prev\_closing\_price": "364.2",

"fluctate\_24H": "-90.6",

"fluctate\_rate\_24H": "-22.51"

}

}

 

2-1. 코인의 정보에서 BTC의 최대 가격을 출력하시오.

  1. print(coin["BTC"]["max_price"]) #원래 딕셔너리 구하듯이 이렇게 적어줘도 된다
  2. print(coin["BTC"].get("max_price"))
  3. ==>> .get 사용시에는 [] 가 아니라 () 구나!==>> .get(" ") 아 메서드니까../??
  4. ~

import pprint 란?

dictionary 를 그대로 출력하면 복잡해보임. 그럴 때 이쁘게 정렬해주는 외장함수임.외장함수기 때문에 pprint사용하려면 반드시 import pprint를 상단에 기재해줘야함.

pprint.pprint(coin)

 

2-2. BTC의 시가와(opening price) XRP의 시가를 더한 결과를 출력하시오.

print(coin\[['BTC'](#)\]\['opening\_price'\]+ coin\[['XRP'](#)\]\['opening\_price'\])

'# 1. Language > 🌊 Python' 카테고리의 다른 글

TIL # Python 예제  (0) 2021.02.16
TIL # Python 이론정리  (0) 2021.02.16
Markdown 사용법  (0) 2021.02.11
[2021.01.13] VS code 사용법  (0) 2021.02.11
Python 프로그래밍을 위한 설치  (0) 2021.02.11