xml_parsing_vai_api_2
> ################ > # 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 다크 나이트 크리스토퍼 놀란 모건 프리먼 >
xml_parsing_vai_api_2.txt · Last modified: 2024/12/05 10:23 by hkimscil