How to solve 'Input must be a vector, not an environment' when crawling website with R

huangapple go评论116阅读模式
英文:

How to solve 'Input must be a vector, not an environment' when crawling website with R

问题

我正在爬取一个网站到R,但出现错误:!输入必须是一个向量,而不是一个环境。

我尝试通过以下方式来爬取网站:

simple <- read_html("https://en.wikipedia.org/wiki/Kargil_War")

a <- simple %>%
  html_nodes("p") %>%
  html_text()

这段代码一开始是可以工作的,但后来出现了错误:
stop_vctrs() 中的错误:
!输入必须是一个向量,而不是一个环境。
运行 rlang::last_error() 来查看错误出现的位置。

我该如何解决这个问题?
谢谢!

英文:

I am crawling a website to R but error pops up: ! Input must be a vector, not an environment.

I attempt to crawl a website by doing

` simple <- read_html("https://en.wikipedia.org/wiki/Kargil_War")

a <- simple %>%
html_nodes("p") %>%
html_text() `

The code works at the beginning but error pops up later:
Error in stop_vctrs():
! Input must be a vector, not an environment.
Run rlang::last_error() to see where the error occurred.

How can I solve this?
Thank you!

答案1

得分: 1

我看到在使用stringr包的1.5.0版本时出现了这个错误。将stringr版本回退到1.4.0版本可以解决你的示例问题。

require(devtools)
install_version("stringr", version = "1.4.0")
英文:

I've seen this error when using version 1.5.0 of the stringr package. Reverting to stringr version 1.4.0 fixed your example for me.

require(devtools)
install_version(&quot;stringr&quot;, version = &quot;1.4.0&quot; )

答案2

得分: 1

更新了vctrs,对我有用。

install.packages("vctrs")
英文:

Had the same problem, updating the vctrs worked for me.

install.packages(&quot;vctrs&quot;)

huangapple
  • 本文由 发表于 2023年1月8日 23:02:03
  • 转载请务必保留本文链接:https://go.coder-hub.com/75048803.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定