我是一个新手网页抓取器所以道歉的基本问题,但我已经搜索和挣扎时,试图应用以前的答案在这里。我试图抓取多个相关的网址fbref.com(体育参考的子集),但遇到了一个问题,我认为使用lapply正确。我可以成功地拉一个网址,只是不是一次全部。
以下是我尝试做的要点:
library("rvest")
library("tidyverse")
year1 <- paste0(2006:2021)
year2 <- paste0(2007:2022)
urls <- sort(rep(paste0("https://fbref.com/en/comps/Big5/", year1, "-", year2, "/stats/players/", year1, "-", year2, "-Big-5-European-Leagues-Stats")))
table <- read_html(urls) |>
html_nodes("table") |>
html_table()
我想我只需要lapply循环最后一节,但是我很难得到正确的格式。当使用最后一节通过纯粹粘贴一个URL来读取其中一个URL时,如下图所示,我得到了我想要的输出。我只想从2006-07到2021-22的所有年份都在一个csv文件中。
> url <- "https://fbref.com/en/comps/Big5/2021-2022/stats/players/2021-2022-Big-5-European-Leagues-Stats"
> table <- read_html(url) |>
+ html_nodes("table") |>
+ html_table()
> write.csv(table, file = "fbrefinitial.csv")
接下来,我想我只需要使用bind_rows沿着year 1或year 2为每年添加一列,因为我希望在一个csv文件的一个标签中获得所有这些内容。(格式化该命令的正确方法是什么?)
这与this post最相似,但是我尝试以不同的方式应用该逻辑是行不通的。
谢谢你的帮助!
1条答案
按热度按时间vuktfyat1#
您可以: