Ini adalah langkah-langkah web scraping pada bagian Menโs Singles pada website https://bwfworldtour.bwfbadminton.com/rankings/
Semoga bermanfaat^^
library("rvest")
url <- "https://bwfworldtour.bwfbadminton.com/rankings/?id=9&cat_id=57&ryear=2021&week=43&page_size=100&page_no=1"
webpage <- read_html(url)
#Tentukan nodes peubah pada HTML
rank_html <- html_nodes(webpage,'td:nth-child(1)')
#Ambil teks yang ada pada nodes yang sudah ditentukan
rank <- html_text(rank_html)
rank <- gsub(' ','',rank)
rank <- gsub("\n",'',rank)
rank <- rank[rank != ""]
#Karena data yang terambil adalah teks yang bertipe karakter, akan kita ubah ke numerik
rank <- as.numeric(rank)
#Tentukan nodes peubah pada HTML
country_html <- html_nodes(webpage,'.country span')
#Ambil teks yang ada pada nodes yang sudah ditentukan
country <- html_text(country_html)
country <- gsub("\n\n",'',country)
country <- gsub("\n",'',country)
country <- gsub(' ','',country)
#Tentukan nodes peubah pada HTML
player_html <- html_nodes(webpage,'.player')
#Ambil teks yang ada pada nodes yang sudah ditentukan
player <- html_text(player_html)
#Menghilangkan karakter yang tidak diperlukan hasil scraping
player <- gsub(" \n",'',player)
player <- gsub("\n",'',player)
##points
#Tentukan nodes peubah pada HTML
points_html <- html_nodes(webpage,'td:nth-child(5)')
#Ambil teks yang ada pada nodes yang sudah ditentukan
points <- html_text(points_html)
#Menghilangkan karakter yang tidak diperlukan hasil scraping
points <- gsub("\n",'',points)
points <- gsub(',','',points)
points <- gsub(' ','',points)
points <- as.numeric(points)
df_menSingle43 <- data.frame(Rank = rank, Country = country, Player = player, Points = points)
library("rvest")
url <- "https://bwfworldtour.bwfbadminton.com/rankings/?id=9&cat_id=57&ryear=2021&week=43&page_size=100&page_no=2"
webpage <- read_html(url)
#Tentukan nodes peubah pada HTML
rank_html <- html_nodes(webpage,'td:nth-child(1)')
#Ambil teks yang ada pada nodes yang sudah ditentukan
rank <- html_text(rank_html)
rank <- gsub(' ','',rank)
rank <- gsub("\n",'',rank)
rank <- rank[rank != ""]
#Karena data yang terambil adalah teks yang bertipe karakter, akan kita ubah ke numerik
rank <- as.numeric(rank)
#Tentukan nodes peubah pada HTML
country_html <- html_nodes(webpage,'.country span')
#Ambil teks yang ada pada nodes yang sudah ditentukan
country <- html_text(country_html)
country <- gsub("\n\n",'',country)
country <- gsub("\n",'',country)
country <- gsub(' ','',country)
#Tentukan nodes peubah pada HTML
player_html <- html_nodes(webpage,'.player')
#Ambil teks yang ada pada nodes yang sudah ditentukan
player <- html_text(player_html)
#Menghilangkan karakter yang tidak diperlukan hasil scraping
player <- gsub(" \n",'',player)
player <- gsub("\n",'',player)
##DONE PLAYER
##points
#Tentukan nodes peubah pada HTML
points_html <- html_nodes(webpage,'td:nth-child(5)')
#Ambil teks yang ada pada nodes yang sudah ditentukan
points <- html_text(points_html)
#Menghilangkan karakter yang tidak diperlukan hasil scraping
points <- gsub("\n",'',points)
points <- gsub(',','',points)
points <- gsub(' ','',points)
points <- as.numeric(points)
df_menSingle43_1 <- data.frame(Rank = rank, Country = country, Player = player, Points = points)
#menggabungkan page 1 dan 2
mensinglefix43 <- rbind(df_menSingle43, df_menSingle43_1)
#menghilangkan duplikat data
MenSingle43 <- mensinglefix43[!duplicated(mensinglefix43[,c("Player")]),]