2011-12-02 7 views
1

웹 브라우저의 소스 코드에서 볼 수 있듯이 html을 웹에서 긁어 내고 싶습니다.이 URL은 "https : //portal.tirol.gv"입니다./wisPvpSrv/wisSrv/wis/wbo_wis_auszug.aspx? ATTR = Y & TREE = N & ANL_ID = T20889658R3 & TYPE = 0 "웹 - 스크랩 asp.net 웹 사이트 r

내가

library(RCurl) 
library(XML) 
myurl = "https://portal.tirol.gv.at/wisPvpSrv/wisSrv/wis/wbo_wis_auszug.aspx?ATTR=Y&TREE=N&ANL_ID=T20889658R3&TYPE=0" 
x = getURL(myurl, followlocation = TRUE, ssl.verifypeer = FALSE) 
htmlParse(x, asText = TRUE) 

내가 브라우저의 소스 코드에서 무엇을보고하지 ..is ..로 무엇을 얻을 - 방법이 문제를 회피 ??

+0

것 같습니다입니다. –

답변

3

나중에 가서 :

library(RCurl) 
library(XML) 

cookie = 'cookiefile.txt' 
curl = getCurlHandle (cookiefile = cookie , 
    useragent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en - US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6", 
    header = FALSE, 
    verbose = TRUE, 
    netrc = TRUE, 
    maxredirs = as.integer(20), 
    followlocation = TRUE, 
    # userpwd = "bob:duncantl", ## enter here your username:password 
    ssl.verifypeer = TRUE) 

myurl = "https://portal.tirol.gv.at/wisSrvPublic/wis/wbo_wis_auszug.aspx?ANL_ID=T20889658R3&TYPE=O" 

x = getURL(myurl, curl = curl, cainfo = "path to R/library/RCurl/CurlSSL/ca-bundle.crt") 

x2 <- gsub('\r','', gsub('\t','', gsub('\n','', x))) # remove white spaces 

htmlParse(x2, asText = TRUE) 

는 SSL 검증을 통과 할 수없는 경우이 게시물을 살펴 가지고 : 당신이 사이트에 액세스하는 사용자와 암호가 필요 같은 using Rcurl with HTTPs

+0

WORKS! .. 공개 액세스가 있으므로 (위의 주석 참조) 쿠키 또는 사용자 이름이 필요하지 않습니다. pw. 호기심을 위해서 : 그것은 일을하는 verbose = T입니다. 그리고 사용자 에이전트를 올바르게 설정하지 않으면 어떤 효과가 있습니까? – Kay

+0

인증서를 제공하는 것은 cainfo 용어로 정의 된 ssl 확인입니다. –

1

웹 사이트에서 콘텐츠를 생성하는 데 많은 자바 스크립트를 사용한다면 처음에는 꽤 어려워합니다.

Firefox를 사용하여 개발자 툴바를 얻으면 자바 스크립트를 사용하지 않고 사이트의 모습과 스크래핑 할 수있는 콘텐츠를 볼 수 있습니다. 사이트에 사용 가능한 비 자바 스크립트 버전이 있기를 바랄 수 있습니다 (JS는 멋진 자료에만 사용되는 '우아한 퇴화'라고합니다).

그렇지 않으면 Firebug 또는 다른 JS 디버거를 사용하여 AJAX를 사용하는 경우 사이트에서 콘텐츠를 가져 오는 방법을 확인하십시오. 그런 다음 R에서 해당 호출을 복제하고 응답에서 다.니다.

내가이 URL로 이동하면 Benutzername 및 Passwort 프롬프트가 표시되고 Benutzername이 없기 때문에이 중 하나를 테스트 할 수 있습니다. 콘텐츠가 인증 뒤에 있다면 RCurl 프로세스에서도 내용을 처리해야합니다. 이는 쿠키 등을 망칠 수도 있습니다.

행운을 빈다. 여기

+0

sry,이 약간 다른 URL은 공개되어 같은 목적으로 사용할 수 있습니다. "https://portal.tirol.gv.at/wisSrvPublic/wis/wbo_wis_auszug.aspx?ANL_ID=T20889658R3&TYPE=O" – Kay