【发布时间】:2021-11-30 08:14:39
【问题描述】:
我在 Git Hub 页面上有一个数据集。 我将它们作为 CSV 文件导入到 Rstudio,并创建了一个名为“StoryLink”的 URL 数组 现在我想从每个网页中抓取数据。 所以我创建了一个for循环并将所有收集到的数据分配给一个名为“articleText”的变量,并将其转换为一个名为“ArticlePage”的字符数组
我的问题是,即使我创建了一个 for 循环,它也只会 抓取 URL 列表中的最后一个网页(第 6 篇文章)。 我如何抓取所有网址?
library(rvest)
library(dplyr)
GitHubpoliticsconversions<- "https://raw.githubusercontent.com/lukanius007/web_scraping_politics/main/politics_conversions.csv"
CSVFile <- read.csv(GitHubpoliticsconversions, header = TRUE, sep = ",")
StoryLink <- c(pull(CSVFile, 4))
page <- {}
for(i in 1:6){
page[i] <- c(StoryLink[i])
ArticlePage <- read_html(page[i])
articleText = ArticlePage %>% html_elements(".lead , .article__title") %>% html_text()
PoliticalArticles <- c(articleText)
}
这是我从这段代码中得到的结果,但我需要所有网页的结果都一样
>PoliticalArticles
[1] "Wie es zur Hausdurchsuchung bei Finanzminister Blümel kam"
[2] "Die Novomatic hatte den heutigen Finanzminister 2017 um Hilfe bei Problemen im Ausland gebeten – und eine Spende für die ÖVP angeboten. Eine solche habe er nicht angenommen, sagt Blümel."
>
【问题讨论】:
-
这有帮助吗? stackoverflow.com/a/27153589/6851825您当前正在创建一个对象 PolitialArticles,并在每次循环迭代时覆盖它。最后,它只是最近分配的迭代。
标签: r for-loop web-scraping dplyr rvest