User Tools

Site Tools


xml_parsing_via_api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
xml_parsing_via_api [2024/11/28 10:30] – created hkimscilxml_parsing_via_api [2024/12/04 07:20] (current) hkimscil
Line 1: Line 1:
 <code> <code>
 +library(XML)
 +library(httr)
 +library(tidyr)
 +library(tidyverse)
 +
 searchPeople <- "https://kobis.or.kr/kobisopenapi/webservice/rest/people/searchPeopleList.xml" searchPeople <- "https://kobis.or.kr/kobisopenapi/webservice/rest/people/searchPeopleList.xml"
 KEY <- 'e95ca8d1202a4ffe248c09f1e1268cae' KEY <- 'e95ca8d1202a4ffe248c09f1e1268cae'
Line 9: Line 14:
 spRes <- GET(url, query= list("key" = KEY, "peopleNm"= name)) spRes <- GET(url, query= list("key" = KEY, "peopleNm"= name))
 spRes spRes
-spParsed <- xmlParse(sres)+spParsed <- xmlParse(spRes)
 spParsed spParsed
 xmlPeople <- getNodeSet(spParsed, "//people") xmlPeople <- getNodeSet(spParsed, "//people")
Line 17: Line 22:
 filmCh <- xmlToDataFrame(xmlFilm, stringsAsFactors = F) filmCh <- xmlToDataFrame(xmlFilm, stringsAsFactors = F)
 filmCh filmCh
 +View(filmCh)
 +
  
-library(tidyr) 
 films <- filmCh films <- filmCh
 films  %> films  %>
   mutate(text = strsplit(as.character(text), "\\|")) %>   mutate(text = strsplit(as.character(text), "\\|")) %>
   unnest(text)   unnest(text)
 +
 fs <- mutate(films, text = strsplit(as.character(text), "\\|")) fs <- mutate(films, text = strsplit(as.character(text), "\\|"))
 fs <- unnest(fs, text) fs <- unnest(fs, text)
Line 30: Line 37:
 fs[1,] fs[1,]
  
 +##################################
  
 sFilms <- "https://kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieList.xml" sFilms <- "https://kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieList.xml"
Line 47: Line 55:
 xmlF xmlF
 filmId <- xmlToDataFrame(xmlId, stringsAsFactors = F) filmId <- xmlToDataFrame(xmlId, stringsAsFactors = F)
 +filmId
 +colnames(filmId) <- "filmId"
 filmId filmId
 filmN <- xmlToDataFrame(xmlF, stringsAsFactors = F) filmN <- xmlToDataFrame(xmlF, stringsAsFactors = F)
 +colnames(filmN) <- "film"
 filmN filmN
 str(filmN) str(filmN)
-fg <- data.frame(filmId, filmN)+fg <- cbind(filmId, filmN)
 fg fg
-fg <- unnest(fg, text.1)+fg <- unnest(fg, film)
 fg fg
 +
 +###############
  
 sFd <- "http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml" sFd <- "http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.xml"
 KEY <- 'e95ca8d1202a4ffe248c09f1e1268cae' KEY <- 'e95ca8d1202a4ffe248c09f1e1268cae'
 filmId[1,] filmId[1,]
-name <- fg$text[1] +fg$filmId[1] 
-name +fg$film[1] 
-# name <- iconv(name, to="utf8")+id <- fg$filmId[1] 
 +id
 url <-URLencode(iconv(sFd, to="utf8")) url <-URLencode(iconv(sFd, to="utf8"))
 url url
  
-sfdr <- GET(url, query= list("key" = KEY, "movieCd"name))+sfdr <- GET(url, query= list("key" = KEY, "movieCd"id))
 sfdr sfdr
 sfdrP <- xmlParse(sfdr) sfdrP <- xmlParse(sfdr)
Line 71: Line 85:
 xmlA <- getNodeSet(sfdrP, "//actors/actor/peopleNm") xmlA <- getNodeSet(sfdrP, "//actors/actor/peopleNm")
 xmlA xmlA
 +
 actor <- xmlToDataFrame(xmlA, stringsAsFactors = F) actor <- xmlToDataFrame(xmlA, stringsAsFactors = F)
 actor actor
 +colnames(actor) <- "actor"
 +actor
 +
 +
 dir dir
-mv <- fg$text.1[1] +mv <- fg$film[1] 
-dtoa <- data.frame(dir,actor, name, mv)+mv 
 +dtoa <- data.frame(dir,actor, id, mv)
 dtoa dtoa
  
 write.csv(dtoa, file="fstdy.csv", fileEncoding = "euc-kr") write.csv(dtoa, file="fstdy.csv", fileEncoding = "euc-kr")
- 
  
 </code> </code>
  
xml_parsing_via_api.1732757423.txt.gz · Last modified: 2024/11/28 10:30 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki