> ################
> # install.packages("xml2")
> library(xml2)
>
> sFilms <- "https://kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieList.xml"
> KEY <- 'e95ca8d1202a4ffe248c09f1e1268cae'
> dir <- "크리스토퍼 놀란"
> dir <- iconv(dir, to="utf8")
> url <-URLencode(iconv(sFilms, to="utf8"))
> url
[1] "https://kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieList.xml"
>
> sfRes <- GET(url, query= list("key" = KEY, "directorNm"= dir))
> sfRes
Response [https://kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieList.xml?key=e95ca8d1202a4ffe248c09f1e1268cae&directorNm=%ED%81%AC%EB%A6%AC%EC%8A%A4%ED%86%A0%ED%8D%BC%20%EB%86%80%EB%9E%80]
Date: 2024-12-05 01:21
Status: 200
Content-Type: application/xml;charset=utf-8
Size: 4.98 kB
<BINARY BODY>
> sfParsed <- read_xml(sfRes)
> sfParsed
{xml_document}
<movieListResult>
[1] <totCnt>12</totCnt>
[2] <movieList>\n <movie>\n <movieCd>20081056</movi ...
[3] <source>영화진흥위원회</source>
> xmlId <- xml_text(xml_find_all(sfParsed, xpath = "//movie/movieCd"))
> xmlId
[1] "20081056" "20226431" "20100312" "20164621"
[5] "20201122" "20010238" "20112703" "20050112"
[9] "20149120" "19988766"
> xmlTitle <- xml_text(xml_find_all(sfParsed, xpath = "//movie/movieNm"))
> xmlTitle
[1] "다크 나이트" "오펜하이머"
[3] "인셉션" "덩케르크"
[5] "테넷" "메멘토"
[7] "다크 나이트 라이즈" "배트맨 비긴즈"
[9] "인터스텔라" "미행"
> library(tibble)
> df <- tibble(ID = xmlId, Title = xmlTitle)
> df
# A tibble: 10 × 2
ID Title
<chr> <chr>
1 20081056 다크 나이트
2 20226431 오펜하이머
3 20100312 인셉션
4 20164621 덩케르크
5 20201122 테넷
6 20010238 메멘토
7 20112703 다크 나이트 라이즈
8 20050112 배트맨 비긴즈
9 20149120 인터스텔라
10 19988766 미행
> df[1,1]
# A tibble: 1 × 1
ID
<chr>
1 20081056
> df[1,2]
# A tibble: 1 × 1
Title
<chr>
1 다크 나이트
> dff <- data.frame(df)
> dff[10,2]
[1] "미행"
>
> df
# A tibble: 10 × 2
ID Title
<chr> <chr>
1 20081056 다크 나이트
2 20226431 오펜하이머
3 20100312 인셉션
4 20164621 덩케르크
5 20201122 테넷
6 20010238 메멘토
7 20112703 다크 나이트 라이즈
8 20050112 배트맨 비긴즈
9 20149120 인터스텔라
10 19988766 미행
>
> n <- length(df$ID)
> dlist = list(id=list(), title=list(), dir=list(), actor=list())
> actors = rep(NA, n)
> for(i in 1:n){
+ sFd <- "http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml"
+ KEY <- 'e95ca8d1202a4ffe248c09f1e1268cae'
+ url <-URLencode(iconv(sFd, to="utf8"))
+
+ sfdr <- GET(url, query= list("key" = KEY, "movieCd"= df[i, 1]))
+ sfdrP <- read_xml(sfdr)
+ xmlActor <- xml_text(xml_find_all(sfdrP, "//actors/actor/peopleNm"))
+ xmlDir <- xml_text(xml_find_all(sfdrP, "//directors/director/peopleNm"))
+ dlist$actor[[i]] <- xmlActor
+ dlist$dir[[i]] <- xmlDir
+ dlist$id[[i]] <- dff[i,1]
+ dlist$title[[i]] <- dff[i,2]
+
+ }
> dlist
$id
$id[[1]]
[1] "20081056"
$id[[2]]
[1] "20226431"
$id[[3]]
[1] "20100312"
$id[[4]]
[1] "20164621"
$id[[5]]
[1] "20201122"
$id[[6]]
[1] "20010238"
$id[[7]]
[1] "20112703"
$id[[8]]
[1] "20050112"
$id[[9]]
[1] "20149120"
$id[[10]]
[1] "19988766"
$title
$title[[1]]
[1] "다크 나이트"
$title[[2]]
[1] "오펜하이머"
$title[[3]]
[1] "인셉션"
$title[[4]]
[1] "덩케르크"
$title[[5]]
[1] "테넷"
$title[[6]]
[1] "메멘토"
$title[[7]]
[1] "다크 나이트 라이즈"
$title[[8]]
[1] "배트맨 비긴즈"
$title[[9]]
[1] "인터스텔라"
$title[[10]]
[1] "미행"
$dir
$dir[[1]]
[1] "크리스토퍼 놀란"
$dir[[2]]
[1] "크리스토퍼 놀란"
$dir[[3]]
[1] "크리스토퍼 놀란"
$dir[[4]]
[1] "크리스토퍼 놀란"
$dir[[5]]
[1] "크리스토퍼 놀란"
$dir[[6]]
[1] "크리스토퍼 놀란"
$dir[[7]]
[1] "크리스토퍼 놀란"
$dir[[8]]
[1] "크리스토퍼 놀란"
$dir[[9]]
[1] "크리스토퍼 놀란"
$dir[[10]]
[1] "크리스토퍼 놀란"
$actor
$actor[[1]]
[1] "크리스찬 베일" "마이클 케인" "히스 레저"
[4] "아론 에크하트" "매기 질렌할" "게리 올드만"
[7] "모건 프리먼"
$actor[[2]]
[1] "킬리언 머피" "에밀리 블런트"
[3] "맷 데이먼" "로버트 다우니 주니어"
[5] "플로렌스 퓨" "조쉬 하트넷"
[7] "케이시 애플렉" "라미 말렉"
[9] "케네스 브래너"
$actor[[3]]
[1] "레오나르도 디카프리오" "엘렌 페이지"
[3] "마리옹 꼬띠아르"
$actor[[4]]
[1] "톰 하디" "마크 라이런스" "케네스 브래너"
[4] "킬리언 머피" "제임스 다시" "케빈 구스리"
$actor[[5]]
[1] "존 데이비드 워싱턴" "로버트 패틴슨"
[3] "엘리자베스 데비키" "애론 테일러 존슨"
[5] "마이클 케인" "케네스 브래너"
[7] "히메쉬 파텔" "클레멘스 포시"
[9] "유리 코로콜니코브" "앤드류 하워드"
[11] "마틴 도노반"
$actor[[6]]
[1] "가이 피어스" "캐리 앤 모스" "조 판톨리아노"
$actor[[7]]
[1] "크리스찬 베일" "게리 올드만" "앤 해서웨이"
[4] "톰 하디" "조셉 고든 레빗"
$actor[[8]]
[1] "리암 니슨" "크리스찬 베일" "마이클 케인"
$actor[[9]]
[1] "매튜 매커너히" "앤 해서웨이" "마이클 케인"
[4] "제시카 차스테인" "케이시 애플렉"
$actor[[10]]
[1] "제레미 테오발드" "루시 러셀"
> n <- length(dlist$id)
> k <- rep(NA, n)
> for (i in 1:n) {
+ print(dlist$id[[i]])
+ print(dlist$title[[i]])
+ print(dlist$dir[[i]])
+ print(dlist$actor[[i]])
+ }
[1] "20081056"
[1] "다크 나이트"
[1] "크리스토퍼 놀란"
[1] "크리스찬 베일" "마이클 케인" "히스 레저"
[4] "아론 에크하트" "매기 질렌할" "게리 올드만"
[7] "모건 프리먼"
[1] "20226431"
[1] "오펜하이머"
[1] "크리스토퍼 놀란"
[1] "킬리언 머피" "에밀리 블런트"
[3] "맷 데이먼" "로버트 다우니 주니어"
[5] "플로렌스 퓨" "조쉬 하트넷"
[7] "케이시 애플렉" "라미 말렉"
[9] "케네스 브래너"
[1] "20100312"
[1] "인셉션"
[1] "크리스토퍼 놀란"
[1] "레오나르도 디카프리오" "엘렌 페이지"
[3] "마리옹 꼬띠아르"
[1] "20164621"
[1] "덩케르크"
[1] "크리스토퍼 놀란"
[1] "톰 하디" "마크 라이런스" "케네스 브래너"
[4] "킬리언 머피" "제임스 다시" "케빈 구스리"
[1] "20201122"
[1] "테넷"
[1] "크리스토퍼 놀란"
[1] "존 데이비드 워싱턴" "로버트 패틴슨"
[3] "엘리자베스 데비키" "애론 테일러 존슨"
[5] "마이클 케인" "케네스 브래너"
[7] "히메쉬 파텔" "클레멘스 포시"
[9] "유리 코로콜니코브" "앤드류 하워드"
[11] "마틴 도노반"
[1] "20010238"
[1] "메멘토"
[1] "크리스토퍼 놀란"
[1] "가이 피어스" "캐리 앤 모스" "조 판톨리아노"
[1] "20112703"
[1] "다크 나이트 라이즈"
[1] "크리스토퍼 놀란"
[1] "크리스찬 베일" "게리 올드만" "앤 해서웨이"
[4] "톰 하디" "조셉 고든 레빗"
[1] "20050112"
[1] "배트맨 비긴즈"
[1] "크리스토퍼 놀란"
[1] "리암 니슨" "크리스찬 베일" "마이클 케인"
[1] "20149120"
[1] "인터스텔라"
[1] "크리스토퍼 놀란"
[1] "매튜 매커너히" "앤 해서웨이" "마이클 케인"
[4] "제시카 차스테인" "케이시 애플렉"
[1] "19988766"
[1] "미행"
[1] "크리스토퍼 놀란"
[1] "제레미 테오발드" "루시 러셀"
> k
[1] NA NA NA NA NA NA NA NA NA NA
>
> a <- data.frame(unlist(dlist$title[[1]]))
> b <- data.frame(unlist(dlist$actor[[1]]))
> c <- data.frame(unlist(dlist$dir[[1]]))
> dat <- cbind(a,c,b)
> colnames(dat) <- c("title", "dir", "actors")
> dat
title dir actors
1 다크 나이트 크리스토퍼 놀란 크리스찬 베일
2 다크 나이트 크리스토퍼 놀란 마이클 케인
3 다크 나이트 크리스토퍼 놀란 히스 레저
4 다크 나이트 크리스토퍼 놀란 아론 에크하트
5 다크 나이트 크리스토퍼 놀란 매기 질렌할
6 다크 나이트 크리스토퍼 놀란 게리 올드만
7 다크 나이트 크리스토퍼 놀란 모건 프리먼
>