2017-09-13 1 views
0

www.nseindia.com에서 웹 데이터 스크래핑에 R 및 rvest를 사용하고 있습니다. 처음으로 데이터를 다운로드 할 수 있지만 이후에 다음 오류 메시지가 나타납니다.데이터 웹 스크래핑 R

UseMethod ("xml_find_all")의 오류 : 클래스 "개체의 xml_find_all"적용 가능한 적용 방법이 없습니다. 코드의 시작 부분에 + "표시"

암은 향후 인덱스의 첫 번째 행을 얻으려고 노력

library("rvest") 

    website_nifty_future_live<- read_html("https://www.nseindia.com/live_market/dynaContent/live_watch/fomwatchsymbol.jsp?key=NIFTY&Fut_Opt=Futures") 

    nifty_spot<- website_nifty_future_live %>% 
     + html_nodes(".alt:nth-child(2) td:nth-child(13)") %>% 
     + html_text() 
    nifty_spot<-as.numeric(gsub(",","",nifty_spot)) 
+0

MacOS 및 Debian에서 코드를 테스트했습니다. 제대로 작동, 평가 후 오류가 발생했습니다. rvest 버전 0.3.2, R 버전 R 버전 3.3.3. – Gonzo

+0

Windows를 사용 중이므로 코드를 다시 실행할 때 문제가 발생합니다. 귀하의 의견에 감사드립니다. 고마워! – Himadri

+0

코드의'+'는 그 에러를 일으 킵니다. '+ '기호를 제거한 후 시도하십시오. – SBista

답변

0

오류 인해 대부분의 가능성이 높습니다 다음

내 코드가있는 그대로 "- 나는 일하지 않았다. 제거 할 때 오류가 발생합니다.

나는 다음과 같은 코드를 사용하여 data.frame으로 전체 테이블을 읽을 것을 권장합니다 :

library("rvest") 

url_nifty <- "https://www.nseindia.com/live_market/dynaContent/live_watch/fomwatchsymbol.jsp?key=NIFTY&Fut_Opt=Futures" 
website_nifty_future_live<- read_html(url_nifty) 

nifty_spot<- website_nifty_future_live %>% 
    html_nodes("#tab26Content > table:nth-child(1)") %>% 
    html_table(header = NA, trim = TRUE, fill = FALSE, dec = ".") %>% 
    as.data.frame() 

첫 번째 행의 포함을 얻을 물론 다음 매우 쉽습니다. 헤더 (예 :

nifty_spot[1, ] 
    Instrument Underlying Expiry.Date Option.Type Strike.Price Open.Price High.Price Low.Price Prev..Close Last.Price Volume Turnover.lacs. 
1 Index Futures  NIFTY 28SEP2017   -   - 10,105.00 10,144.70 10,078.00 10,107.90 10,096.90 94,799 7,18,943.53 
    Underlying..Value 
1   10079.3 

희망 하시겠습니까?