library(XML)
library(httr)
library(tidyr)
# https://kobis.or.kr/kobisopenapi/homepg/main/main.do
searchPeople <- "https://kobis.or.kr/kobisopenapi/webservice/rest/people/searchPeopleList.xml"
KEY <- 'your_keys_here'
name <- "Christian Bale"
name <- iconv(name, to="utf8")
url <-URLencode(iconv(searchPeople, to="utf8"))
url
spRes <- GET(url, query= list("key" = KEY, "peopleNm"= name))
spRes
spParsed <- xmlParse(spRes)
spParsed
xmlPeople <- getNodeSet(spParsed, "//people")
xmlPeople
xmlFilm <- getNodeSet(spParsed, "//people/filmoNames")
xmlFilm
filmCh <- xmlToDataFrame(xmlFilm, stringsAsFactors = F)
filmCh
View(filmCh)
library(tidyr)
library(tidyverse)
fs <- mutate(filmCh, text = strsplit(as.character(text), "\\|"))
fs <- unnest(fs, text)
str(fs)
data.frame(fs)
fs[1,]
> library(XML)
> library(httr)
> library(tidyr)
>
> # https://kobis.or.kr/kobisopenapi/homepg/main/main.do
>
> searchPeople <- "https://kobis.or.kr/kobisopenapi/webservice/rest/people/searchPeopleList.xml"
> KEY <- 'your_key_here'
> name <- "Christian Bale"
> name <- iconv(name, to="utf8")
> url <-URLencode(iconv(searchPeople, to="utf8"))
> url
[1] "https://kobis.or.kr/kobisopenapi/webservice/rest/people/searchPeopleList.xml"
>
> spRes <- GET(url, query= list("key" = KEY, "peopleNm"= name))
> spRes
Response [https://kobis.or.kr/kobisopenapi/webservice/rest/people/searchPeopleList.xml?key=your_key_here&peopleNm=Christian%20Bale]
Date: 2026-06-01 03:26
Status: 200
Content-Type: application/xml;charset=utf-8
Size: 935 B
<BINARY BODY>
> spParsed <- xmlParse(spRes)
> spParsed
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<peopleListResult>
<totCnt>1</totCnt>
<peopleList>
<people>
<peopleCd>10077325</peopleCd>
<peopleNm>크리스찬 베일</peopleNm>
<peopleNmEn>Christian Bale </peopleNmEn>
<repRoleNm>배우</repRoleNm>
<filmoNames>브라이드!|토르: 러브 앤 썬더|암스테르담|포드 V 페라리|바이스|몬태나|더 프로미스|빅쇼트|나이트 오브 컵스|엑소더스: 신들과 왕들|아웃 오브 더 퍼니스|아메리칸 허슬|다크 나이트 라이즈|진링의 13소녀|파이터|퍼블릭 에너미|터미네이터 : 미래전쟁의 시작|다크 나이트|아임 낫 데어|3:10 투 유마|프레스티지|레스큐 던|하쉬 타임|뉴월드|배트맨 비긴즈|머시니스트|이퀼리브리엄|레인 오브 파이어|로렐 캐년|아메리칸 싸이코|벨벳 골드마인</filmoNames>
</people>
</peopleList>
<source>영화진흥위원회</source>
</peopleListResult>
> xmlPeople <- getNodeSet(spParsed, "//people")
> xmlPeople
[[1]]
<people>
<peopleCd>10077325</peopleCd>
<peopleNm>크리스찬 베일</peopleNm>
<peopleNmEn>Christian Bale </peopleNmEn>
<repRoleNm>배우</repRoleNm>
<filmoNames>브라이드!|토르: 러브 앤 썬더|암스테르담|포드 V 페라리|바이스|몬태나|더 프로미스|빅쇼트|나이트 오브 컵스|엑소더스: 신들과 왕들|아웃 오브 더 퍼니스|아메리칸 허슬|다크 나이트 라이즈|진링의 13소녀|파이터|퍼블릭 에너미|터미네이터 : 미래전쟁의 시작|다크 나이트|아임 낫 데어|3:10 투 유마|프레스티지|레스큐 던|하쉬 타임|뉴월드|배트맨 비긴즈|머시니스트|이퀼리브리엄|레인 오브 파이어|로렐 캐년|아메리칸 싸이코|벨벳 골드마인</filmoNames>
</people>
attr(,"class")
[1] "XMLNodeSet"
> xmlFilm <- getNodeSet(spParsed, "//people/filmoNames")
> xmlFilm
[[1]]
<filmoNames>브라이드!|토르: 러브 앤 썬더|암스테르담|포드 V 페라리|바이스|몬태나|더 프로미스|빅쇼트|나이트 오브 컵스|엑소더스: 신들과 왕들|아웃 오브 더 퍼니스|아메리칸 허슬|다크 나이트 라이즈|진링의 13소녀|파이터|퍼블릭 에너미|터미네이터 : 미래전쟁의 시작|다크 나이트|아임 낫 데어|3:10 투 유마|프레스티지|레스큐 던|하쉬 타임|뉴월드|배트맨 비긴즈|머시니스트|이퀼리브리엄|레인 오브 파이어|로렐 캐년|아메리칸 싸이코|벨벳 골드마인</filmoNames>
attr(,"class")
[1] "XMLNodeSet"
> filmCh <- xmlToDataFrame(xmlFilm, stringsAsFactors = F)
> filmCh
text
1 브라이드!|토르: 러브 앤 썬더|암스테르담|포드 V 페라리|바이스|몬태나|더 프로미스|빅쇼트|나이트 오브 컵스|엑소더스: 신들과 왕들|아웃 오브 더 퍼니스|아메리칸 허슬|다크 나이트 라이즈|진링의 13소녀|파이터|퍼블릭 에너미|터미네이터 : 미래전쟁의 시작|다크 나이트|아임 낫 데어|3:10 투 유마|프레스티지|레스큐 던|하쉬 타임|뉴월드|배트맨 비긴즈|머시니스트|이퀼리브리엄|레인 오브 파이어|로렐 캐년|아메리칸 싸이코|벨벳 골드마인
> View(filmCh)
>
> library(tidyr)
> library(tidyverse)
>
> fs <- mutate(filmCh, text = strsplit(as.character(text), "\\|"))
> fs <- unnest(fs, text)
> str(fs)
tibble [31 × 1] (S3: tbl_df/tbl/data.frame)
$ text: chr [1:31] "브라이드!" "토르: 러브 앤 썬더" "암스테르담" "포드 V 페라리" ...
> data.frame(fs)
text
1 브라이드!
2 토르: 러브 앤 썬더
3 암스테르담
4 포드 V 페라리
5 바이스
6 몬태나
7 더 프로미스
8 빅쇼트
9 나이트 오브 컵스
10 엑소더스: 신들과 왕들
11 아웃 오브 더 퍼니스
12 아메리칸 허슬
13 다크 나이트 라이즈
14 진링의 13소녀
15 파이터
16 퍼블릭 에너미
17 터미네이터 : 미래전쟁의 시작
18 다크 나이트
19 아임 낫 데어
20 3:10 투 유마
21 프레스티지
22 레스큐 던
23 하쉬 타임
24 뉴월드
25 배트맨 비긴즈
26 머시니스트
27 이퀼리브리엄
28 레인 오브 파이어
29 로렐 캐년
30 아메리칸 싸이코
31 벨벳 골드마인
> fs[1,]
# A tibble: 1 × 1
text
<chr>
1 브라이드!
>
##################################
# searchMovieList.xml
sFilms <- "https://kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieList.xml"
KEY <- 'your_key_here'
dir <- "크리스토퍼 놀란"
dir <- iconv(dir, to="utf8")
url <-URLencode(iconv(sFilms, to="utf8"))
url
sfRes <- GET(url, query= list("key" = KEY, "directorNm"= dir))
sfRes
sfParsed <- xmlParse(sfRes)
sfParsed
xmlId <- getNodeSet(sfParsed, "//movie/movieCd")
xmlId
xmlF <- getNodeSet(sfParsed, "//movie/movieNm")
xmlF
filmId <- xmlToDataFrame(xmlId, stringsAsFactors = F)
filmId
colnames(filmId) <- "filmId"
filmId
filmN <- xmlToDataFrame(xmlF, stringsAsFactors = F)
colnames(filmN) <- "film"
filmN
str(filmN)
fg <- cbind(filmId, filmN)
fg
fg <- unnest(fg, film)
fg
> ##################################
> # searchMovieList.xml
>
> sFilms <- "https://kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieList.xml"
> KEY <- 'your_key_here'
> 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=your_key_here&directorNm=%ED%81%AC%EB%A6%AC%EC%8A%A4%ED%86%A0%ED%8D%BC%20%EB%86%80%EB%9E%80]
Date: 2026-06-01 03:30
Status: 200
Content-Type: application/xml;charset=utf-8
Size: 4.97 kB
<BINARY BODY>
> sfParsed <- xmlParse(sfRes)
> sfParsed
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<movieListResult>
<totCnt>13</totCnt>
<movieList>
<movie>
<movieCd>20250654</movieCd>
<movieNm>오디세이</movieNm>
<movieNmEn>The Odyssey</movieNmEn>
<prdtYear>2026</prdtYear>
<openDt/>
<typeNm>장편</typeNm>
<prdtStatNm>개봉예정</prdtStatNm>
<nationAlt>미국</nationAlt>
<genreAlt>액션</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>액션</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys/>
</movie>
<movie>
<movieCd>20081056</movieCd>
<movieNm>다크 나이트</movieNm>
<movieNmEn>The Dark Knight</movieNmEn>
<prdtYear>2008</prdtYear>
<openDt>20080806</openDt>
<typeNm>장편</typeNm>
<prdtStatNm>개봉</prdtStatNm>
<nationAlt>미국</nationAlt>
<genreAlt>범죄,드라마,액션,미스터리</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>범죄</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys/>
</movie>
<movie>
<movieCd>20226431</movieCd>
<movieNm>오펜하이머</movieNm>
<movieNmEn>Oppenheimer</movieNmEn>
<prdtYear>2023</prdtYear>
<openDt>20230815</openDt>
<typeNm>장편</typeNm>
<prdtStatNm>개봉</prdtStatNm>
<nationAlt>미국</nationAlt>
<genreAlt>스릴러,드라마</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>스릴러</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys/>
</movie>
<movie>
<movieCd>20100312</movieCd>
<movieNm>인셉션</movieNm>
<movieNmEn>Inception</movieNmEn>
<prdtYear>2010</prdtYear>
<openDt>20100721</openDt>
<typeNm>장편</typeNm>
<prdtStatNm>개봉</prdtStatNm>
<nationAlt>미국</nationAlt>
<genreAlt>드라마,미스터리</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>드라마</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys>
<company>
<companyCd>20103668</companyCd>
<companyNm>워너 브러더스 픽쳐스</companyNm>
</company>
<company>
<companyCd>20104234</companyCd>
<companyNm>레젼데리 픽쳐스</companyNm>
</company>
</companys>
</movie>
<movie>
<movieCd>20164621</movieCd>
<movieNm>덩케르크</movieNm>
<movieNmEn>Dunkirk</movieNmEn>
<prdtYear>2017</prdtYear>
<openDt>20170720</openDt>
<typeNm>장편</typeNm>
<prdtStatNm>개봉</prdtStatNm>
<nationAlt>미국,영국</nationAlt>
<genreAlt>액션,드라마,스릴러,전쟁</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>액션</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys/>
</movie>
<movie>
<movieCd>20201122</movieCd>
<movieNm>테넷</movieNm>
<movieNmEn>Tenet</movieNmEn>
<prdtYear>2020</prdtYear>
<openDt>20200826</openDt>
<typeNm>장편</typeNm>
<prdtStatNm>개봉</prdtStatNm>
<nationAlt>미국</nationAlt>
<genreAlt>액션,SF</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>액션</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys/>
</movie>
<movie>
<movieCd>20010238</movieCd>
<movieNm>메멘토</movieNm>
<movieNmEn>Memento</movieNmEn>
<prdtYear>2000</prdtYear>
<openDt>20010824</openDt>
<typeNm>장편</typeNm>
<prdtStatNm>개봉</prdtStatNm>
<nationAlt>미국</nationAlt>
<genreAlt>미스터리,범죄,스릴러</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>미스터리</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys/>
</movie>
<movie>
<movieCd>20112703</movieCd>
<movieNm>다크 나이트 라이즈</movieNm>
<movieNmEn>The Dark Knight Rises</movieNmEn>
<prdtYear>2012</prdtYear>
<openDt>20120719</openDt>
<typeNm>장편</typeNm>
<prdtStatNm>개봉</prdtStatNm>
<nationAlt>미국,영국</nationAlt>
<genreAlt>액션,범죄,스릴러</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>액션</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys/>
</movie>
<movie>
<movieCd>20050112</movieCd>
<movieNm>배트맨 비긴즈</movieNm>
<movieNmEn>Batman Begins</movieNmEn>
<prdtYear>2005</prdtYear>
<openDt>20050624</openDt>
<typeNm>장편</typeNm>
<prdtStatNm>개봉</prdtStatNm>
<nationAlt>미국</nationAlt>
<genreAlt>범죄,액션,판타지</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>범죄</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys>
<company>
<companyCd>20103668</companyCd>
<companyNm>워너 브러더스 픽쳐스</companyNm>
</company>
</companys>
</movie>
<movie>
<movieCd>20149120</movieCd>
<movieNm>인터스텔라</movieNm>
<movieNmEn>Interstellar</movieNmEn>
<prdtYear>2014</prdtYear>
<openDt>20141106</openDt>
<typeNm>장편</typeNm>
<prdtStatNm>개봉</prdtStatNm>
<nationAlt>미국,영국</nationAlt>
<genreAlt>SF</genreAlt>
<repNationNm>미국</repNationNm>
<repGenreNm>SF</repGenreNm>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
</director>
</directors>
<companys/>
</movie>
</movieList>
<source>영화진흥위원회</source>
</movieListResult>
> xmlId <- getNodeSet(sfParsed, "//movie/movieCd")
> xmlId
[[1]]
<movieCd>20250654</movieCd>
[[2]]
<movieCd>20081056</movieCd>
[[3]]
<movieCd>20226431</movieCd>
[[4]]
<movieCd>20100312</movieCd>
[[5]]
<movieCd>20164621</movieCd>
[[6]]
<movieCd>20201122</movieCd>
[[7]]
<movieCd>20010238</movieCd>
[[8]]
<movieCd>20112703</movieCd>
[[9]]
<movieCd>20050112</movieCd>
[[10]]
<movieCd>20149120</movieCd>
attr(,"class")
[1] "XMLNodeSet"
> xmlF <- getNodeSet(sfParsed, "//movie/movieNm")
> xmlF
[[1]]
<movieNm>오디세이</movieNm>
[[2]]
<movieNm>다크 나이트</movieNm>
[[3]]
<movieNm>오펜하이머</movieNm>
[[4]]
<movieNm>인셉션</movieNm>
[[5]]
<movieNm>덩케르크</movieNm>
[[6]]
<movieNm>테넷</movieNm>
[[7]]
<movieNm>메멘토</movieNm>
[[8]]
<movieNm>다크 나이트 라이즈</movieNm>
[[9]]
<movieNm>배트맨 비긴즈</movieNm>
[[10]]
<movieNm>인터스텔라</movieNm>
attr(,"class")
[1] "XMLNodeSet"
> filmId <- xmlToDataFrame(xmlId, stringsAsFactors = F)
> filmId
text
1 20250654
2 20081056
3 20226431
4 20100312
5 20164621
6 20201122
7 20010238
8 20112703
9 20050112
10 20149120
> colnames(filmId) <- "filmId"
> filmId
filmId
1 20250654
2 20081056
3 20226431
4 20100312
5 20164621
6 20201122
7 20010238
8 20112703
9 20050112
10 20149120
> filmN <- xmlToDataFrame(xmlF, stringsAsFactors = F)
> colnames(filmN) <- "film"
> filmN
film
1 오디세이
2 다크 나이트
3 오펜하이머
4 인셉션
5 덩케르크
6 테넷
7 메멘토
8 다크 나이트 라이즈
9 배트맨 비긴즈
10 인터스텔라
> str(filmN)
'data.frame': 10 obs. of 1 variable:
$ film: chr "오디세이" "다크 나이트" "오펜하이머" "인셉션" ...
> fg <- cbind(filmId, filmN)
> fg
filmId film
1 20250654 오디세이
2 20081056 다크 나이트
3 20226431 오펜하이머
4 20100312 인셉션
5 20164621 덩케르크
6 20201122 테넷
7 20010238 메멘토
8 20112703 다크 나이트 라이즈
9 20050112 배트맨 비긴즈
10 20149120 인터스텔라
> fg <- unnest(fg, film)
> fg
# A tibble: 10 × 2
filmId film
<chr> <chr>
1 20250654 오디세이
2 20081056 다크 나이트
3 20226431 오펜하이머
4 20100312 인셉션
5 20164621 덩케르크
6 20201122 테넷
7 20010238 메멘토
8 20112703 다크 나이트 라이즈
9 20050112 배트맨 비긴즈
10 20149120 인터스텔라
>
###############
# searchMovieInfo.xml
sFd <- "http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml"
KEY <- 'your_key_here'
filmId[7,]
fg$filmId[7]
fg$film[7]
id <- fg$filmId[7]
id
url <-URLencode(iconv(sFd, to="utf8"))
url
sfdr <- GET(url, query= list("key" = KEY, "movieCd"= id))
sfdr
sfdrP <- xmlParse(sfdr)
sfdrP
xmlA <- getNodeSet(sfdrP, "//actors/actor/peopleNm")
xmlA
actor <- xmlToDataFrame(xmlA, stringsAsFactors = F)
actor
colnames(actor) <- "actor"
actor
dir
mv <- fg$film[1]
mv
dtoa <- data.frame(dir,actor, id, mv)
dtoa
library(readr)
write_excel_csv(dtoa, "fstudy.csv")
> ###############
> # searchMovieInfo.xml
>
> sFd <- "http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml"
> KEY <- 'your_key_here'
> filmId[7,]
[1] "20010238"
> fg$filmId[7]
[1] "20010238"
> fg$film[7]
[1] "메멘토"
> id <- fg$filmId[7]
> id
[1] "20010238"
> url <-URLencode(iconv(sFd, to="utf8"))
> url
[1] "http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml"
>
> sfdr <- GET(url, query= list("key" = KEY, "movieCd"= id))
> sfdr
Response [http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml?key=your_key_here&movieCd=20010238]
Date: 2026-06-01 03:35
Status: 200
Content-Type: application/xml;charset=utf-8
Size: 2.5 kB
<BINARY BODY>
> sfdrP <- xmlParse(sfdr)
> sfdrP
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<movieInfoResult>
<movieInfo>
<movieCd>20010238</movieCd>
<movieNm>메멘토</movieNm>
<movieNmEn>Memento</movieNmEn>
<movieNmOg/>
<showTm>113</showTm>
<prdtYear>2000</prdtYear>
<openDt>20010824</openDt>
<prdtStatNm>개봉</prdtStatNm>
<typeNm>장편</typeNm>
<nations>
<nation>
<nationNm>미국</nationNm>
</nation>
</nations>
<genres>
<genre>
<genreNm>미스터리</genreNm>
</genre>
<genre>
<genreNm>범죄</genreNm>
</genre>
<genre>
<genreNm>스릴러</genreNm>
</genre>
</genres>
<directors>
<director>
<peopleNm>크리스토퍼 놀란</peopleNm>
<peopleNmEn>Christopher Nolan</peopleNmEn>
</director>
</directors>
<actors>
<actor>
<peopleNm>가이 피어스</peopleNm>
<peopleNmEn>Guy Pearce</peopleNmEn>
<cast/>
<castEn/>
</actor>
<actor>
<peopleNm>캐리 앤 모스</peopleNm>
<peopleNmEn>Carrie-Anne Moss</peopleNmEn>
<cast/>
<castEn/>
</actor>
<actor>
<peopleNm>조 판톨리아노</peopleNm>
<peopleNmEn>Joe Pantoliano</peopleNmEn>
<cast/>
<castEn/>
</actor>
</actors>
<showTypes>
<showType>
<showTypeGroupNm>필름</showTypeGroupNm>
<showTypeNm>필름</showTypeNm>
</showType>
<showType>
<showTypeGroupNm>2D</showTypeGroupNm>
<showTypeNm>디지털</showTypeNm>
</showType>
</showTypes>
<companys>
<company>
<companyCd>20158370</companyCd>
<companyNm>(주)디스테이션</companyNm>
<companyNmEn/>
<companyPartNm>배급사</companyPartNm>
</company>
<company>
<companyCd>20122837</companyCd>
<companyNm>(주)팝엔터테인먼트</companyNm>
<companyNmEn>Pop Entertainment</companyNmEn>
<companyPartNm>배급사</companyPartNm>
</company>
<company>
<companyCd>20139757</companyCd>
<companyNm>(주)엔케이컨텐츠</companyNm>
<companyNmEn/>
<companyPartNm>수입사</companyPartNm>
</company>
<company>
<companyCd>20100207</companyCd>
<companyNm>(주)씨네월드</companyNm>
<companyNmEn>Cineworld</companyNmEn>
<companyPartNm>수입사</companyPartNm>
</company>
</companys>
<audits>
<audit>
<auditNo>2001-F222</auditNo>
<watchGradeNm>15세관람가</watchGradeNm>
</audit>
<audit>
<auditNo>2014-MF01083 </auditNo>
<watchGradeNm>15세이상관람가</watchGradeNm>
</audit>
</audits>
<staffs>
<staff>
<peopleNm>조나단 놀란</peopleNm>
<peopleNmEn>Jonathan Nolan</peopleNmEn>
<staffRoleNm>시나리오(각본)</staffRoleNm>
</staff>
<staff>
<peopleNm>크리스토퍼 놀란</peopleNm>
<peopleNmEn>Christopher Nolan</peopleNmEn>
<staffRoleNm>시나리오(각본)</staffRoleNm>
</staff>
</staffs>
</movieInfo>
<source>영화진흥위원회</source>
</movieInfoResult>
> xmlA <- getNodeSet(sfdrP, "//actors/actor/peopleNm")
> xmlA
[[1]]
<peopleNm>가이 피어스</peopleNm>
[[2]]
<peopleNm>캐리 앤 모스</peopleNm>
[[3]]
<peopleNm>조 판톨리아노</peopleNm>
attr(,"class")
[1] "XMLNodeSet"
>
> actor <- xmlToDataFrame(xmlA, stringsAsFactors = F)
> actor
text
1 가이 피어스
2 캐리 앤 모스
3 조 판톨리아노
> colnames(actor) <- "actor"
> actor
actor
1 가이 피어스
2 캐리 앤 모스
3 조 판톨리아노
>
> dir
[1] "크리스토퍼 놀란"
> mv <- fg$film[1]
> mv
[1] "오디세이"
> dtoa <- data.frame(dir,actor, id, mv)
> dtoa
dir actor id
1 크리스토퍼 놀란 가이 피어스 20010238
2 크리스토퍼 놀란 캐리 앤 모스 20010238
3 크리스토퍼 놀란 조 판톨리아노 20010238
mv
1 오디세이
2 오디세이
3 오디세이
>
> library(readr)
> write_excel_csv(dtoa, "fstudy.csv")
>
> # write.csv(dtoa, file="fstdy.csv", fileEncoding = "utf-8")
> #
>
# searchMovieInfo.xml 2
sFd <- "http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml"
KEY <- 'your_key_here'
n.film <- nrow(filmId)
n.film
url <-URLencode(iconv(sFd, to="utf8"))
url
actors <- list()
mvs <- list()
dirs <- list()
fg$film[2]
for (i in 1:n.film) {
# Code to execute
# print(filmId[i,])
id <- filmId[i, ]
fname <- fg$film[i]
sfdr <- GET(url, query= list("key" = KEY, "movieCd"= id))
sfdrP <- xmlParse(sfdr)
xmlA <- getNodeSet(sfdrP, "//actors/actor/peopleNm")
actor <- xmlToDataFrame(xmlA, stringsAsFactors = F)
actors[i] <- actor
mvs[i] <- fname
dirs[i] <- dir
}
actors
mvs
dirs
# Create the dataframe
movie_df <- tibble(
Movie = mvs,
Director = dirs,
Actors = actors
)
View(movie_df)
# write_excel_csv(movie_df, "dirs.actors.csv")
# write.csv(movie_df, "da.csv", row.names = T, fileEncoding = "UTF-8")
> # searchMovieInfo.xml 2
>
> sFd <- "http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml"
> KEY <- 'your_key_here'
> n.film <- nrow(filmId)
> n.film
[1] 10
>
> url <-URLencode(iconv(sFd, to="utf8"))
> url
[1] "http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml"
> actors <- list()
> mvs <- list()
> dirs <- list()
> fg$film[2]
[1] "다크 나이트"
> for (i in 1:n.film) {
+ # Code to execute
+ # print(filmId[i,])
+ id <- filmId[i, ]
+ fname <- fg$film[i]
+ sfdr <- GET(url, query= list("key" = KEY, "movieCd"= id))
+ sfdrP <- xmlParse(sfdr)
+ xmlA <- getNodeSet(sfdrP, "//actors/actor/peopleNm")
+ actor <- xmlToDataFrame(xmlA, stringsAsFactors = F)
+ actors[i] <- actor
+ mvs[i] <- fname
+ dirs[i] <- dir
+ }
> actors
[[1]]
[1] "맷 데이먼" "톰 홀랜드"
[3] "앤 해서웨이" "로버트 패틴슨"
[5] "루피타 뇽오" "젠데이아 콜먼"
[7] "샤를리즈 테론"
[[2]]
[1] "크리스찬 베일" "마이클 케인"
[3] "히스 레저" "아론 에크하트"
[5] "매기 질렌할" "게리 올드만"
[7] "모건 프리먼"
[[3]]
[1] "킬리언 머피" "에밀리 블런트"
[3] "맷 데이먼" "로버트 다우니 주니어"
[5] "플로렌스 퓨" "조쉬 하트넷"
[7] "케이시 애플렉" "라미 말렉"
[9] "케네스 브래너"
[[4]]
[1] "레오나르도 디카프리오"
[2] "엘렌 페이지"
[3] "마리옹 꼬띠아르"
[[5]]
[1] "톰 하디" "마크 라이런스"
[3] "케네스 브래너" "킬리언 머피"
[5] "제임스 다시" "케빈 구스리"
[[6]]
[1] "존 데이비드 워싱턴" "로버트 패틴슨"
[3] "엘리자베스 데비키" "애론 테일러 존슨"
[5] "마이클 케인" "케네스 브래너"
[7] "히메쉬 파텔" "클레멘스 포시"
[9] "유리 코로콜니코브" "앤드류 하워드"
[11] "마틴 도노반"
[[7]]
[1] "가이 피어스" "캐리 앤 모스"
[3] "조 판톨리아노"
[[8]]
[1] "크리스찬 베일" "게리 올드만"
[3] "앤 해서웨이" "톰 하디"
[5] "조셉 고든 레빗"
[[9]]
[1] "리암 니슨" "크리스찬 베일"
[3] "마이클 케인"
[[10]]
[1] "매튜 매커너히" "앤 해서웨이"
[3] "마이클 케인" "제시카 차스테인"
[5] "케이시 애플렉"
> mvs
[[1]]
[1] "오디세이"
[[2]]
[1] "다크 나이트"
[[3]]
[1] "오펜하이머"
[[4]]
[1] "인셉션"
[[5]]
[1] "덩케르크"
[[6]]
[1] "테넷"
[[7]]
[1] "메멘토"
[[8]]
[1] "다크 나이트 라이즈"
[[9]]
[1] "배트맨 비긴즈"
[[10]]
[1] "인터스텔라"
> dirs
[[1]]
[1] "크리스토퍼 놀란"
[[2]]
[1] "크리스토퍼 놀란"
[[3]]
[1] "크리스토퍼 놀란"
[[4]]
[1] "크리스토퍼 놀란"
[[5]]
[1] "크리스토퍼 놀란"
[[6]]
[1] "크리스토퍼 놀란"
[[7]]
[1] "크리스토퍼 놀란"
[[8]]
[1] "크리스토퍼 놀란"
[[9]]
[1] "크리스토퍼 놀란"
[[10]]
[1] "크리스토퍼 놀란"
> # Create the dataframe
> movie_df <- tibble(
+ Movie = mvs,
+ Director = dirs,
+ Actors = actors
+ )
> View(movie_df)
> # write_excel_csv(movie_df, "dirs.actors.csv")
> # write.csv(movie_df, "da.csv", row.names = T, fileEncoding = "UTF-8")