내가, 내가 rvest 및 RCurl하지만 두 경우 모두를 시도긁어
https://www.mcxindia.com/market-data/spot-market-price
아래 페이지에서 테이블을 추출하기 위해 도착 페이지를 원하는 rvest 또는 RCurl 또는 HTTR를 사용하여 R의 페이지 다운로드 한 내용이 브라우저에서 보는 것과 다릅니다. 나는 감지하거나 어떤 도움을 주시면 감사하겠습니다
에 따라 드릴 수 없습니다 리디렉션의 형태가 가정입니다
PS :
: phantomjs이것은 내가 지금까지 시도 무엇에 관심이 없음
1 HTTR
base_url <- "https://www.mcxindia.com/market-data/spot-market-price" ua <- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" library(httr) library(XML) doc <- POST(base_url,user_agent(ua),set_cookies(`_ga` = "GA1.2.543290785.1505100652",`_gid`="GA1.2.1409943545.1505881384",`_gat`="1")) doc <- htmlParse(doc) poptable<-readHTMLTable(doc,which=7)
결과
: 데이터 없음 !!!!2 RCurl
library(RCurl) curl <- getCurlHandle() curlSetOpt(curl = curl, ssl.verifypeer = FALSE, useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", timeout = 60, followlocation = TRUE, cookiejar = "./cookies", cookiefile = "./cookies") newDoc = getURL("https://www.mcxindia.com/market-data/spot-market-price", curl=curl) newDoc <- htmlParse(newDoc) poptable<-readHTMLTable(newDoc,which=7)
결과
: 데이터 없음 !!!!또한 나는 (작은 엑셀 아이콘이 표시)
PhantomJS를 솔루션으로 명시 적으로 제외하는 이유가 있습니까? 경우에 따라 PhantomJS, RSelenium 또는 그와 유사한 데이터를 스크래핑하는 것은 불가능합니다. 그것을 들여다 보지 않고 질문을 해결하는 것이 가능하지 않을 수도 있습니다. – TomS
@TomS 우리의 환경에서 팬텀을 허용하지 않는 시스템 요구 사항입니다. rvest를 사용하는 것이 가능합니다. 필자가 끝내면 코드를 완성한 후에 대답을 게시 할 것이다. 나는 가까웠다. ... –
그러나 당신은 예를 들어. RSelenium PhantomJS는 어떤 종류의 설치가 필요하지 않습니까? 내 작업 기계에도 관리자 권한이 없지만 제대로 작동합니다. 그러나 rvest 만 사용하는 솔루션 (예 : httr)에 가까이 있다면 나는 그 점에 대한 지식이 부족하기 때문에 읽고 배우게되어 기쁩니다. :) – TomS