Rvest 无法识别表单

Rvest doesn't recognize a form

我正在尝试解析需要使用 Rvest 登录会话的网站。

我正在使用此代码开始:

login<-"https://www.drugs.com/account/login/"
session<-html_session(login) 
form<-html_form(session)

但即使在提取所有表单之后,它也只能识别“高级搜索”表单,而不是登录表单。

你知道为什么会这样吗?我想知道登录表单是否需要 javascript 或类似的内容。

谢谢, 维特鲁威

根据您所在的位置,我认为问题可能出在 EU GDPR 许可上。我第一次打开网站时,它要求我接受 cookie 以便登录。接受在我的浏览器中设置以下 cookie:

ddbab21688799cacb48f7d384642573f = "agree"

并且仅在显示登录表单之后。对我来说,cookie 的名称总是设置为相同的值,但如果情况并非总是如此,那么您可能必须在 rvest 会话中接受同意才能设置 cookie。

如果我在打开 rvest 会话时设置 cookie,我会返回两种形式,其中一种是登录形式。 您可以按如下方式设置cookie:

login <- "https://www.drugs.com/account/login/"
session <- html_session(login, httr::set_cookies(ddbab21688799cacb48f7d384642573f = "agree"))
form <- html_form(session)