返回的對象中提取HTML內容我試圖從下面的this topic pems.dot.ca.gov下載一些流量數據。隨着Rvest,如何從submit_form()
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是一個「會話」,resp_2是一個「響應」,並續爲「原始」。我的問題是:如何正確提取html內容,以便我可以繼續使用XPath從我的頁面中選擇我想要的實際數據?我的直覺是,我應該解析resp_2這是一個迴應,但我不能讓它工作。非常感謝您的幫助!
你看過Selector Gadget嗎?我發現它對於查找我想要提取的網頁的特定部分很有用。 http://selectorgadget.com/。它可以很好地適用'rvest'內的'html_nodes'和'html_text' – Warner
我只是看着小工具,它看起來很酷。但我的問題不在於如何從html中選擇內容,而是如何將響應或原始內容轉換爲html。無論如何感謝您的回答! – user3768495
看來該網站需要用戶名和密碼才能通過開始屏幕。你上面的代碼使用「省略」,這不是一個有效的組合。如果您可以發佈您感興趣的實際頁面的示例,它會更有幫助。 – Dave2e