this topic에 이어 pems.dot.ca.gov에서 트래픽 데이터를 다운로드하려고합니다. submit과 함께 반환 된 객체에서 html 콘텐츠를 추출하는 방법
rm(list=ls())
library(rvest)
library(xml2)
library(httr)
url <- "http://pems.dot.ca.gov/?report_form=1&dnode=tmgs&content=tmg_volumes&tab=tmg_vol_ts&export=&tmg_station_id=74250&s_time_id=1369094400&s_time_id_f=05%2F21%2F2013&e_time_id=1371772740&e_time_id_f=06%2F20%2F2013&tod=all&tod_from=0&tod_to=0&dow_5=on&dow_6=on&tmg_sub_id=all&q=obs_flow&gn=hour&html.x=34&html.y=8"
pgsession <- html_session(url)
pgform <-html_form(pgsession)[[1]]
filled_form <- set_values(pgform,
'username' = 'omitted',
'password' = 'omitted')
resp = submit_form(pgsession, filled_form)
resp_2 = resp$response
cont = resp_2$content
나는 이러한 항목의
class()
을 확인하고 인공 호흡기가 '세션', resp_2가 '응답'이다, 그리고 계속이 '원시'것으로 나타났습니다. 내 질문은 : 어떻게 html 콘텐츠를 올바르게 추출하여 XPath로 진행하여이 페이지에서 원하는 실제 데이터를 선택할 수 있습니까? 내 직관은 응답 인 resp_2를 구문 분석해야한다는 것이지만 작동하도록 만들 수는 없습니다. 귀하의 도움은 높이 평가됩니다!
Selector Gadget을 보았습니까? 추출하려는 웹 페이지의 특정 부분을 찾는 것이 유용하다는 것을 알았습니다. http://selectorgadget.com/. 'rvest' 내'html_nodes'와'html_text'에서 잘 작동합니다. – Warner
가제트를 들여다 보니 멋졌습니다. 하지만 내 질문은 HTML에서 물건을 선택하는 방법에 관한 것이 아니라, HTML로 응답이나 원시를 변환하는 방법에 관한 것입니다. 어쨌든 귀하의 답변 주셔서 감사합니다! – user3768495
시작 화면을 통과하려면 사이트에서 사용자 이름과 비밀번호가 필요합니다. 위의 코드 코드는 유효한 조합이 아닌 "생략 됨"을 사용합니다. 관심있는 실제 페이지의 예를 게시 할 수 있다면 더 도움이 될 것입니다. – Dave2e