使用R语言 数据包“rvest” 去爬取世界2011至2021年间的世界100强企业。
指定网站:(https://brandirectory.com/rankings/global/table).
这里爬出来的是2021年的世界500强, 请问要怎么改才能提取到前100强以及有没有更加有效率的方法爬取2011-2021年的十年间的方法呢? 还是就只能一年一年的爬取了。
url <-'https://brandirectory.com/rankings/global/2021/table'
webpage <- read_html(url)
xdata <- webpage %>% html_nodes("tbody tr")
DataX = NULL
for (i in 1:length(xdata)){
tmp <- xdata[i] %>% html_nodes("td")
rank21 <- tmp[1] %>% html_text() %>% as.numeric()
rank20 <- tmp[2] %>% html_text() %>% as.numeric()
company = trimws(gsub("\n", "", tmp[3] %>% html_text()))
country = trimws(gsub("\n", "", tmp[4] %>% html_text()))
flag <- tmp[5] %>% html_nodes("img") %>% xml_attr("src")
value21 <- tmp[5] %>% html_nodes("span") %>% html_text()
value20 <- tmp[6] %>% html_nodes("span") %>% html_text()
rate21 = trimws(gsub("\n", "", tmp[7] %>% html_text()))
rate20 = trimws(gsub("\n", "", tmp[8] %>% html_text()))
DataX = rbind(DataX, c(rank21, rank20,company, country,
value21, value20, rate21, rate20))
}