我正在嘗試決議需要使用 Rvest 登錄會話的網站。
我正在使用此代碼開始:
login<-"https://www.drugs.com/account/login/"
session<-html_session(login)
form<-html_form(session)
但即使在提取所有表單后,它也只能識別“高級搜索”表單而不是登錄表單。
你知道為什么會這樣嗎?我想知道登錄表單是否需要 javascript 或類似的東西。
謝謝你,維特魯威
uj5u.com熱心網友回復:
根據您所在的位置,我認為問題可能是歐盟 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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/314424.html
