본문 바로가기

Python

[Python] 책 API의 JSON 데이터 가져오기 (feat. Kakao Dev) 이번 시간에는 JSON 데이터 Parsing의 복습 개념으로카카오 DEV에서 API로 된 JSON데이터를 가져와서Pasing까지 해보도록 하겠습니다. REST API | Kakao Developers 문서 Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com  저는 책 검색을 해볼 예정인데요.  요청을 하기 위해서는 Kakao.DEV에서 인증키를 발급받아서헤더에 인증 코드를 추가해야하고,  요청 파라미터로 질의어는 필수로 들어가야합니다. 그럼 Http통신부터 진행해보겠습니다. q = input("책 이름 : ")q = quote(q)url = f"/v3/.. 더보기
[Python] JSON 데이터 파싱 어제는 파이썬으로 XML데이터를 파싱했었는데오늘은 JSON데이터에 HTTP 통신을 하여 데이터를 문자열로 Parsing해보려고합니다.먼저 HTTP 통신은 어제와 했던 과정이 같습니다. from http.client import HTTPSConnectionfrom urllib.parse import quotefrom json import loads# 도시 이름 : 입력 (영어)# 요청파라미터 추가 O# 응답 내용 출력까지hc = HTTPSConnection("api.openweathermap.org")q = input("도시 이름 (영어):")print(q)url = f"/data/2.5/weather?q={q}&appid={API Key}" url += "&units=metric&lang=kr"print.. 더보기
[Python] 파이썬으로 Http 통신 하는 법 이번 시간에는 Http 통신을 하여 받아온XML 데이터를 Parsing하는 방법을 알아보겠습니다.먼저 요청 주소가 http로 시작하는지https로 시작하는지 확인하고http의 경우 httpConnection을,https의 경우 httpsConnection 객체를 선언해야합니다. hc = HTTPSConnection("www.kma.go.kr") 파라미터로는 요청할 서버 주소를 넣어주면 됩니다. hc.request("GET", "/wid/queryDFSRSS.jsp?zone=4122066000") 다음은 요청을 보내야 하는데request에 요청 방식과, 요청 주소의 나머지 주소값을 파라미터로 넣어줍니다. res = hc.getresponse() # 응답resBody = res.read() # 응답 내용 읽.. 더보기
[Python] Datetime 파이썬에도 날짜 데이터를 다루는 자료형이 존재하는데요.바로 Datetime입니다.Datetime을 사용하기 위해서는 import를 먼저 해야하는데요. from datetime import datetime datetime을 import해옵니다. # 현재시간 날짜now = datetime.today()print(now) datetime의 today라는 함수를 사용하면현재 날짜를 출력할 수 있습니다.  whiteday = datetime(2025, 3, 14) 직접 변수에 데이트타임 형식으로 데이터를 넣을 수 있고,print(type(whiteday))print(whiteday.year)print(whiteday.month)print(whiteday.day) year, month, day를 사용해서각각 연, .. 더보기
[Python] 예외처리 Python에는 Java의 try-catch문과 같은 예외처리 기능을 하는 코드가 있는데요.한 번 알아보겠습니다.먼저 try입니다.Java에서는 try-catch가 쌍으로 쓰이듯이Python에서는 try가 catch대신except와 쓰입니다.코드를 살펴볼까요? try:    a = int(input("첫번째 숫자 : "))    b = int(input("두번째 숫자 : "))    result = a // b    print("몫은 %d" % result)            l = [1, 23, 456]    print(l[b])except ZeroDivisionError:  print("y에 0? 이거 맞습니까")# except IndexError:#     print("list에 없음") try안.. 더보기
[Python] 다중 상속 Java에서는 다중으로 상속받으려면 interface에서 기능만 조금 가져올 뿐직접적으로 다중 상속을 받을 수 없습니다.하지만 Python에서는 다중 상속이 가능합니다. class Avengers:    def __init__(self, realName):        self.realName = realName    def attack(self):        print("으-썸한 공격!")    def printInfo(self):        print(self.realName)###########################################3class Human:    def __init__(self, age):        self.age =age    def eat(self):  .. 더보기