2017-02-22 8 views
-1

httrplyr 라이브러리가있는 R을 사용하여 API에서 데이터를 스크랩했습니다. 그것의 꽤 똑바로 앞으로 다음과 같은 코드를 잘 작동 :XHR 요청 헤더에서 토큰 추출 중 R

library(httr) 
library(plyr) 

headers <- c("Accept" = "application/json, text/javascript", 
     "Accept-Encoding" = "gzip, deflate, sdch", 
     "Connection" = "keep-alive", 
     "Referer" = "http://www.afl.com.au/stat", 
     "Host" = "www.afl.com.au", 
     "User-Agent" = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36", 
     "X-Requested-With"= "XMLHttpRequest", 
     "X-media-mis-token" = "f31fcfedacc75b1f1b07d5a08887f078") 

query <- GET("http://www.afl.com.au/api/cfs/afl/season?seasonId=CD_S2016014", add_headers(headers)) 

stats <- httr::content(query) 

내 질문이 헤더에 필요한 요청 토큰 관련하여 (즉 X-미디어 잘못된 토큰). 이것은 Chrome이나 Firefox에서 XHR 요소를 검사하여 수동으로 쉽게 얻을 수 있지만 24 시간마다 토큰이 업데이트되어 수동 추출이 어려워집니다.

웹 페이지를 쿼리하고 R을 사용하여이 토큰을 자동으로 추출 할 수 있습니까?

+0

답을 확인하고 투표하고 확인 할 수 있습니까? –

답변

0

X-media-mis-token 토큰을 얻을 수 있지만 면책 조항이 있습니다. ;)

library(httr) 
token_url <- 'http://www.afl.com.au/api/cfs/afl/WMCTok' 
token <- POST(token_url, encode="json") 
content(token)$token 
#[1] "f31fcfedacc75b1f1b07d5a08887f078" 
content(token)$disclaimer 
#[1] "All content and material contained within this site is protected by copyright owned by or licensed to Telstra. Unauthorised reproduction, publishing, transmission, distribution, copying or other use is prohibited. 
+0

굉장한 Karthik, 이것은 완벽하게 작동합니다. 감사! – Safarr

+0

@Safarr Pls vote & 답을 확인하십시오. 감사. –

+0

대답은 정확한 Karthik입니다 (나는 이전 코멘트에서 분명하다고 생각 했습니까?). 투표를했는데 평판 포인트가 충분하지 않아 계산되지 않습니다. – Safarr