返回的对象中提取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