R/강의복습

[22.08.25] 13일차 API활용하기( 카카오 / 서울 빅데이터 )

peach_h 2022. 9. 4. 18:10
카카오 API 활용하기
카카오 API 다음 검색 활용하기

https://developers.kakao.com/

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

카카오 API를 사용해보기 위해, test용 어플리케이션을 만들었다.

 

 

어플리케이션에서 REST API 키 값을 가져온다.

 

 

 

다음 검색을 활용해보기 위해 Daum 검색 개발가이드를 들어가보자.

 

샘플을 보고 따라해보았다.

 

key = "비공개"

#curl -v -X GET "https://dapi.kakao.com/v2/search/web" \
#--data-urlencode "query=이효리" \
#-H "Authorization: KakaoAK ${REST_API_KEY}"

searhUrl <- "https://dapi.kakao.com/v2/search/web"
query <- URLencode("이효리")  #한글을 %E%D 이런표기로 바꾸어서 보내야 한다 
query

"이효리"가 쿼리문으로 바뀐 모습 !

 

url <- paste0(searhUrl, "?query=", query, "&sort=accuracy&page=1&size=50")
res <- GET(url,  add_headers( 
  "Authorization" = "KakaoAK key"))

원하는 단어를 쿼리로 바꾼 후, url을 합쳐주었다.

그리고 GET에 카카오 API를 활용하여 정보를 가져온다.

 

 

 

json 형태로 데이터 처리하기
json ?
간단하게 말해서 사람이 읽기에 쓰기에 편한 데이터의 한 형태이다.

자세한 정보 : https://ko.wikipedia.org/wiki/JSON

 

 

API를 활용해 가져온 res를, 보기 좋게 하기 위해 json으로 전환하자.

library(jsonlite) #json 형태의 데이터 처리 

json_data <- httr::content(res, type="text", encoding = "UTF-8")
json_data

# (JSON이라는 웹에서 제공하는 데이터타입을 list타입으로 전환)
json_obj <- fromJSON( json_data )
json_obj 

df <- data.frame(json_obj$documents)
df
View(df)

내가 찾던 정보가 제대로 모인 것을 쉽게 확인할 수 있다 !

 

 

 

 

카카오 API 블로그 검색 활용하기

이번엔 블로그 검색 request를 활용해보자.

 

 

key = "비공개"

searhUrl <- "https://dapi.kakao.com/v2/search/blog"
query <- URLencode("메이플")  #한글을 %E%D 이런표기로 바꾸어서 보내야 한다 
query

url <- paste0(searhUrl, "?query=", query, "&sort=accuracy&page=1&size=50")
res <- GET(url,  add_headers( 
  "Authorization" = "KakaoAK key"
))
res

이번엔 내가 하는 게임을 검색해보기로했다 !

 

 

 

json으로 데이터 전환
json_data <- httr::content(res, type="text", encoding = "UTF-8")
json_data
json_obj <- fromJSON( json_data )
json_obj # (JSON이라는 웹에서 제공하는 데이터타입을 list타입으로 전환)
df <- data.frame(json_obj$documents)
df
View(df)

혹시 모르니 모자이크를..

게임 내용 반, 음식 내용 반이 나온 것같다 ..!!!!!!!!

 

 

 

 

 

서울 빅데이터 API 활용하기

서울시 열린 데이터 광장에서도 오픈 API를 사용할 수 있다 !

http://data.seoul.go.kr/dataList/OA-394/S/1/datasetView.do

 

열린데이터광장 메인

데이터분류,데이터검색,데이터활용

data.seoul.go.kr

 

서울시 주요 공원 데이터 가져오기

 

서울시 주요 공원에 대한 데이터를 가져와보자.

# 인증키
key = "비공개"

url_p <- "http://openapi.seoul.go.kr:8088/key/xml/SearchParkInfoService/1/500/"
p <- xmlParse(url_p, encoding="UTF-8")
p

 

인증키는 미리 받아놓은 후, 오픈 API 샘플 url에 key값을 넣고 사용했다.

 

제대로 접속이 되었나 확인을 위해 url에 들어가보았다.

공원 정보가 잘 나오는 모습 !

 

이제 여기서 찾고자하는 정보가 어디있는지 보고, 코드를 입력한다.

park = xpathSApply(p, "//row/P_PARK", xmlValue)
addr = xpathSApply(p, "//row/P_ADDR", xmlValue)
plants = xpathSApply(p, "//row/MAIN_PLANTS", xmlValue)
area = xpathSApply(p, "//row/AREA", xmlValue)

df_park <- data.frame( park, addr, plants, area)
df_park
View(df_park)

나는 공원 이름과, 주소, 나무의 종류, 공원의 크기를 가져오기로 했다.

 

데이터가 잘 가져와진 모습 !!

 

 

 

 

 

 

~ 오늘의 공부 후기 ~

카카오 이외에도, 네이버, 서울 빅데이터 등 다양한 api를 활용해보았다.
api는 사용하는 방법만 알면 다양하게 활용하여 원하는 데이터를 수집할 수 있는 좋은 수단인 것 같다.