2.API를 활용한 데이터 수집

     

     R에서 API 호출, 데이터 수집 코드 작성
     지역코드 데이터 수집 : reging_cd.csv
     호출 코드 작성 :  
      1)지역코드(LAWD_CD) 목록 생성
      2)연월(DEAL_YMD) 목록 생성
      3)반복문으로 지역/연월별 API 호출

    # R에서 API 호출, 데이터 수집 코드 작성
    # 지역코드 데이터 수집 : reging_cd.csv
    # API 호출 코드 작성 : 
    #   1)지역코드(LAWD_CD) 목록 생성
    #   2)연월(DEAL_YMD) 목록 생성
    #   3)반복문으로 지역/연월별 API 호출
      
    2)연월(DEAL_YMD) 목록 생성
    c(2010:2020)
    c(1:12)
    
    x <- c(1,2,3,4,5)
    y <- c(6,7,8,9,10)
    rbind(x, y) #x와 y를 행으로 합침
    cbind(x,y) #x와 y를 열로 합침
    
    df <- data.frame(name = c("a","b"), score = c(80,60)) #데이터 프레임 생성
    df
    cbind(df, rank = c(1,2)) #rank 열 추가
    
    x <- data.frame(name = c("a","b","c"), height = c(170, 180, 160)) #데이터 프레임 생성
    y <- data.frame(name = c("c","b","a"), weight = c(50, 70, 60)) #데이터 프레임 생성
    merge(x,y) # 데이터 병합
    cbind(x,y) 
    
    # 계약월6자리
    temp <- merge(c(2010:2020),c(1:12))
    temp$y <- if_else(temp$y<10,paste0(0,temp$y),as.character(temp$y))
    temp
    DEAL_YMD <- paste0(temp$x, temp$y) %>% as.integer()
    DEAL_YMD
    
    # 3)반복문으로 지역/연월별 API 호출
    # 지역별 년월일 데이터 수집
    install.packages("XML")
    library(XML)
    
    API_KEY <- ''
    
    for (i in LAWD_CD) {
      print
      for (l in DEAL_YMD) {
        url <- paste0('http://openapi.molit.go.kr/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTradeDev?LAWD_CD=',i,'&DEAL_YMD=',l,'&servicekey=',API_KEY,'&numOfRows=1000000')
        raw.data <- xmlTreeParse(url,useInternalNodes = TRUE)
        xml_rootnode <- try(xmlRoot(raw.data))
        xml_result <- xmlToDataFrame(xml_rootnode[[2]][['items']])
        df <- rbind(df,xml_result)
      }
    }
    
    
    
    
    
    
    
    
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading