2016-07-08 1 views
3

http://www.footballoutsiders.com/stats/snapcounts에서 데이터를 긁어 내려하지만 사이트 ("팀", "주")의 드롭 다운 상자에서 필드를 변경할 수 없습니다. , "위치"및 "연도"). rvest로 team = "ALL", week = "1", pos = "All"및 year = "2015"와 관련된 테이블을 다듬려고했습니다.r을 사용하여 html 양식 드롭 다운을 사용하여 웹 페이지를 탐색하고 긁음

url <- "http://www.footballoutsiders.com/stats/snapcounts" 
pgsession <- html_session(url) 
pgform <-html_form(pgsession)[[3]] 
filled_form <-set_values(pgform, 
      "team" = "ALL", 
      "week" = "1", 
      "pos" = "ALL", 
      "year" = "2015"    
) 

submit_form(session=pgsession,form=filled_form, POST=url) 

y <- read_html("http://www.footballoutsiders.com/stats/snapcounts") 

y <- y %>% 
    html_nodes("table") %>% 
    .[[2]] %>% 
    html_table(header=TRUE) 

이 코드는 관련 테이블을 반환있는 드롭 다운 상자에서 기본 변수 팀 = "ALL", 주 = "20", POS = "QB", 년 데이터입니다 = "2015" 11 개의 관측치 만 포함하는 프레임. 실제로 필드를 변경했다면 1,695 개의 관측치가있는 데이터 프레임을 반환했을 것입니다.

+0

'y' str (.)에''data.frame ': \t 11 obs가 있습니다. 11 개의 변수 중 : 오류없이 (그리고 브라우저에서 보는 것과 동일). 문제를 더 잘 정의해야합니다. –

+0

내 질문을 업데이트했습니다, 잘하면 내 문제를 명확히합니다 @ 42 – John

답변

2

당신은 양식이 html_nodes에 제출 및 입력으로 해당 세션을 사용할 때 생성되는 세션을 캡처 할 수 있습니다 : 당신은 당신이 원래 페이지를 읽고 read_html(url) 사용하는 경우, 그렇지 않으면

d <- submit_form(session=pgsession, form=filled_form) 

y <- d %>% 
    html_nodes("table") %>% 
    .[[2]] %>% 
    html_table(header=TRUE) 

dim(y) 
#[1] 1695 11 

합니다.

+0

정말 고마워요 !! @Jota – John

관련 문제