веб-сайт asp.net - PullRequest
       13

веб-сайт asp.net

1 голос
/ 02 декабря 2011

Я бы хотел очистить веб-страницу, как показано в исходном коде веб-браузера, для этого URL "https://portal.tirol.gv.at/wisPvpSrv/wisSrv/wis/wbo_wis_auszug.aspx?ATTR=Y&TREE=N&ANL_ID=T20889658R3&TYPE=0".

, что я получаю с ..

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)

..не то, что я вижу в исходном коде браузера - как обойти это ??

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

Вот, пожалуйста,

 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, посмотрите этот пост: с использованием Rcurl с HTTP

1 голос
/ 02 декабря 2011

Если на этом веб-сайте используется много Javascript (и, похоже, так и есть) для генерации контента, тогда вы в значительной степени застряли для начала.

Если вы используете Firefox и получаете панель инструментов разработчика, вы можете отключить Javascript, чтобы увидеть, как выглядит сайт без него, и какой контент может быть скопирован. Вы можете надеяться, что на сайте есть пригодная для использования не-javascript-версия (это называется «изящная деградация», когда JS используется только для модных вещей).

В противном случае используйте Firebug или какой-либо другой JS-отладчик, чтобы увидеть, как сайт использует контент, если он использует AJAX. Затем скопируйте эти вызовы в R и вычеркните из ответа.

Не то чтобы я мог протестировать все это, потому что, если я перехожу по этому URL, я получаю приглашение Benutzername и Passwort, и у меня нет Benutzername. Если контент находится за аутентификацией, то вам придется обрабатывать это и в процессе RCurl - что может означать взлом файлов cookie и т. Д.

Удачи с этим.

...