#javascript #r
#javascript #r
Вопрос:
Я изучаю R для получения данных с некоторых веб-сайтов. Здесь я пытаюсь использовать R для запроса результатов Бостонского марафона с этого веб-сайта.
Вот мой код:
library(httr)
login <- list(RaceYearLowID = "2016", LastName = "Desisa",
FirstName = "Lelisa", submit_button = "Search")
url <- "http://registration.baa.org/cfm_Archive/iframe_ArchiveSearch.cfm?mode=resultsamp;RequestTimeout=600amp;snap=47418326amp;"
res <- POST(url, body = login, verbose())
Каким-то образом я получил результат в виде:
-> POST /cfm_Archive/iframe_ArchiveSearch.cfm?mode=resultsamp;RequestTimeout=600amp;snap=47418326amp;
HTTP/1.1
-> Host: registration.baa.org
-> User-Agent: libcurl/7.50.3 r-curl/2.1 httr/1.2.1
-> Accept-Encoding: gzip, deflate
-> Accept: application/json, text/xml, application/xml, */*
-> Content-Length: 467
-> Expect: 100-continue
-> Content-Type: multipart/form-data; boundary=------------------------47d84f94847f4213
-> <- HTTP/1.1 100 Continue
>> --------------------------47d84f94847f4213
>> Content-Disposition: form-data; name="RaceYearLowID"
>>
>> 2016
>> --------------------------47d84f94847f4213
>> Content-Disposition: form-data; name="LastName"
>>
>> Desisa
>> --------------------------47d84f94847f4213
>> Content-Disposition: form-data; name="FirstName"
>>
>> Lelisa
>> --------------------------47d84f94847f4213
>> Content-Disposition: form-data; name="submit_button"
>>
>> Search
>> --------------------------47d84f94847f4213--
<- HTTP/1.1 200 OK <- Date: Tue, 18 Oct 2016 17:47:31 GMT <- Server:
Microsoft-IIS/6.0 <- X-Powered-By: ASP.NET <- Set-Cookie:
CFID=7150121;expires=Thu, 11-Oct-2046 17:47:31 GMT;path=/ <-
Set-Cookie: CFTOKEN=95945596;expires=Thu, 11-Oct-2046 17:47:31
GMT;path=/ <- Set-Cookie: BAAARCHIVE_ISON=Testing;path=/ <-
Set-Cookie: CFID=7150121;path=/ <- Set-Cookie: CFTOKEN=95945596;path=/
<- Set-Cookie: BIGipServerBAA_registrationpool=304677130.20480.0000;
path=/ <- Transfer-Encoding: chunked <- Content-Type: text/html;
charset=UTF-8 <- Via: 1.1 dc1wsa01.na.coherentinc.com:80
(Cisco-WSA/9.1.1-074) <- Connection: close <-
>
Я проверяю исходный код веб-сайта BAA, он основан на функциях JavaScript.
Есть предложения? Спасибо!
Комментарии:
1.
res$content
может приблизить вас на шаг, но это в шестнадцатеричном формате2.
content(res, as="parsed")
mebbe? Вы читали какую-либоhttr
документацию?
Ответ №1:
Спасибо вам всем. Я понял, как получить результат. код выглядит следующим образом:
логин <- список (RaceYearLowID = «2014», LastName = «Smithson») URL<-» http://registration.baa.org/cfm_Archive/iframe_ArchiveSearch.cfm?mode=resultsamp;RequestTimeout=600amp;snap=47418326amp;«
res <- POST(url, body = login, verbose(),encode = «форма»)
doc2<-htmlTreeParse(res,encoding = «utf-8»,asText = TRUE)
Doc2 анализируется как стиль html. следующий шаг — как я могу получить данные из этого HTML-файла.