在RStudio上从同一网站抓取多个页面,可以使用以下步骤:
rvest
用于网页抓取,dplyr
用于数据处理和操作。install.packages("rvest")
install.packages("dplyr")
library(rvest)
library(dplyr)
read_html()
函数从目标网站抓取单个页面的HTML内容。例如,我们要抓取一个名为https://example.com/page1
的页面:url <- "https://example.com/page1"
page <- read_html(url)
html_nodes()
函数和CSS选择器来选择页面中的特定元素。例如,如果要选择页面中的所有标题元素(<h1>
标签),可以使用以下代码:titles <- page %>% html_nodes("h1") %>% html_text()
https://example.com/page1
到https://example.com/page5
的五个页面:# 创建一个空的数据框来存储结果
results <- data.frame()
# 循环抓取多个页面
for (i in 1:5) {
url <- paste0("https://example.com/page", i)
page <- read_html(url)
# 解析页面内容并将结果添加到数据框中
titles <- page %>% html_nodes("h1") %>% html_text()
results <- bind_rows(results, data.frame(Page = url, Title = titles))
}
write.csv()
函数将结果保存为CSV文件:write.csv(results, "output.csv", row.names = FALSE)
这样,你就可以在RStudio上从同一网站抓取多个页面了。请注意,这只是一个基本的示例,具体的实现方式可能因网站结构和需求而有所不同。