【问题标题】:rvest 1.0.0 - Latest Update Incompatibilityrvest 1.0.0 - 最新更新不兼容
【发布时间】:2021-03-30 18:14:09
【问题描述】:

目标:使用 rvest 登录网站。

问题:我的代码不再适用于 rvest(版本 1.0.0)。

工作原理:使用先前版本的 rvest(版本 0.3.6)编写代码:

rg.headers <- c('User-Agent' = 'Mozilla/5.0')
rg.url <- "https://rotogrinders.com/"
rg.session <- html_session(rg.url, httr::add_headers(.headers=rg.headers))
rg.session <- rvest:::request_POST(rg.session, url = "https://rotogrinders.com/sign-in",
                                   body = list("username"="*****",
                                                "password"="*****"),
                                   encode = 'json')

我的问题:有人可以建议一种方法来在 rvest 1.0.0 中完成我之前使用 rvest 0.3.6 所做的事情吗?暂时,我已经恢复到 0.3.6 以保持平稳运行。

【问题讨论】:

  • 怎么了?我知道您是在暗示它不起作用,但 implication 几乎总是与经验结果相形见绌:警告、错误或结构错误的输出。而且由于我没有旋转研磨机的帐户,所以我在这里没有什么可做的。但请注意,使用“您知道风险”来回复您使用非导出函数很容易。
  • 有改动的博客位于:tidyverse.org/blog/2021/03/rvest-1-0-0
  • @r2evans 以下错误出现在代码的rvest:::request_POST 部分中:get(name, envir = asNamespace(pkg), inherits = FALSE) 中的错误:object 'request_POST' not找到。我完全不使用request_POST 函数来解决这个问题,在下面的答案中建议。

标签: r json web-scraping rvest httr


【解决方案1】:

我无法评论我的声誉,这就是为什么我会写一个答案,即使我不确定这是否有意义。我没有用户帐户,但是通过以下操作,我得到了“无效的用户名”结果。这对我来说很有意义。也许使用有效的用户名这可行?

headers <- c('User-Agent' = 'Mozilla/5.0')
url <- "https://rotogrinders.com/sign-in"
result <-  httr::POST(url = url,
                          httr::add_headers(.headers=headers),
                          body = list("username"="test",
                                      "password"="admin"),
                          encode = 'json')

【讨论】:

  • 这正是我所需要的。谢谢!
猜你喜欢
  • 2019-01-31
  • 1970-01-01
  • 2020-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-29
  • 2017-06-19
  • 1970-01-01
相关资源
最近更新 更多