带有RVest的submit_form中的“错误:与STRSXP不兼容”

Cra*_*aas 2 r web-scraping rvest

我搜索了stackoverflow和github,但是还没有找到解决方案。

session <- read_html("http://www.whitepages.com")
form1 <- html_form(session)[[1]]
form2 <- set_values(form1, who = "john smith")
submit_form(session, form)
Run Code Online (Sandbox Code Playgroud)

在提交表单行之后,我得到以下信息:

Submitting with '<unnamed>'
Error: not compatible with STRSXP
Run Code Online (Sandbox Code Playgroud)

我拼凑出这个错误通常是由于类型不匹配(例如,字符串和数字)引起的,但是我无法确定这可能发生在哪里。

任何帮助将不胜感激!

Ama*_*one 5

我自己只是遇到了这个问题,并且我发现,当submit_form()调用函数rvest ::: submit_request()时,该错误正在发生,该函数尝试运行此行:

xml2::url_absolute(form$url, session$url)
Run Code Online (Sandbox Code Playgroud)

在这一行中,R尝试创建一个引发错误的绝对URL,因为form $ url或session $ url为NULL。就我而言,由于某种原因,session $ url为NULL。因此,您应该尝试:

session$url <- "http://www.whitepages.com"
submit_form(session, form2)
Run Code Online (Sandbox Code Playgroud)