我正在尝试抓取http://www.emedexpert.com/lists/brand-generic.shtml网页上的品牌和仿制药名称
library(httr)
library(rvest)
session <- read_html("http://www.emedexpert.com/lists/brand-generic.shtml")
form1 <- html_form(session)[[2]]
form2 <- set_values(form1, brand = "tylenol")
submit_form(session, form2)
然而,这会导致错误消息:
Error in xml2::url_absolute(form$url, session$url) :
not compatible with STRSXP
因此,根据对同一错误消息("Error: not compatible with STRSXP" on submit_form with rvest)的回答,我添加了一个会话$ url,如下所示:
session$url <- "http://www.emedexpert.com/lists/brand-generic.shtml" # added from S.Ov
但我仍然收到相同的错误消息。所以我也尝试添加各种排列,也添加了form2 $ url,例如这些
form2$url <- "http://www.emedexpert.com/lists/brand-generic.shtml"
form2$url <- ""
form2$url <- "/"
submit_form(session, form2)
此时,错误消息消失,我获得了一个包含大部分所需网页的网页。然而,它似乎完全缺乏品牌和通用名称表。
有什么建议吗?
答案 0 :(得分:1)
是的@hackR,RSelenium并不总是答案。
library(rvest)
url<-"http://www.emedexpert.com/lists/bg.php?myc"
page<-html_session(url)
table<-html_table(read_html(page))[[1]]
这可以帮助你,我希望。