在RSelenium中处理Cookies的方法

244 阅读1分钟

在网络搜刮中,有很多时候你需要利用cookies来从网站上提取数据。在网络世界中,cookies是指用户在浏览网站时,网络浏览器存储在用户电脑上的一小段数据。它们记录了用户的浏览信息,以后可以调用。它主要用于网络分析和数字广告活动。例如,有多少用户访问了一个特定的链接,其中有多少人点击了该广告。电子商务公司也用它来跟踪那些在购物车中添加了物品但还没有进行交易的客户的信息。

Selenium:在R中安装和加载

确保Selenium已经被安装和加载。在R中,你可以使用RSelenium包来安装selenium。

你还需要为你机器上安装的chrome浏览器的版本安装chrome webdriver。

.一旦完成,你可以运行下面的命令来加载软件包并激活驱动程序。

library(RSelenium)
driver<- rsDriver(browser=c("chrome"), chromever = "86.0.4240.22")
remDr <- driver[["client"]]

保存Cookies

通过使用remDr$getAllCookies(),你可以提取所有的cookies,然后你可以将其保存为RDS格式。

remDr$navigate("https://www.zillow.com/homes/")
cookies <- remDr$getAllCookies()
saveRDS(cookies, "cookies.rds")

删除Cookies

通过使用**remDr$deleteAllCookies()**你可以删除你的浏览器的所有cookies。

# Delete Cookies
remDr$deleteAllCookies()

添加Cookies

你可以通过使用函数**addCookie()**来添加以前保存的cookies。

要添加部分Cookie,你可以使用下面的语法。

remDr$addCookie(name = cookies[[1]][["name"]], value = cookies[[1]][["value"]])

循环添加所有的cookie(一个接一个)。cookie.rds是以前保存的,我们正在读取该RDS文件。

remDr$navigate("https://www.zillow.com/homes/")
cookies <- readRDS("cookies.rds")
for (i in 1:length(cookies)) {
  remDr$addCookie(name = cookies[[i]][["name"]], value = cookies[[i]][["value"]])
}