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)
我正在尝试解析需要使用 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)