We can use ratings-user-rating
to get the whole list of ratings,

library(rvest)
url = "https://www.imdb.com/search/title/?title_type=feature&release_date=2018-01-01,2019-12-31&countries=us&sort=alpha,asc&ref_=adv_prv"
url %>% read_html() %>% html_nodes('.ratings-user-rating') %>% html_text2()
[1] "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 3.6/10 X "
[4] "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 4.9/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 4.1/10 X "
[7] "Rate this\n 1 2 3 4 5 6 7 8 9 10 7.4/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 4.6/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X "
[10] "Rate this\n 1 2 3 4 5 6 7 8 9 10 7.9/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 3.3/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X "
[13] "Rate this\n 1 2 3 4 5 6 7 8 9 10 6.5/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 6.6/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 5/10 X "
[16] "Rate this\n 1 2 3 4 5 6 7 8 9 10 3.6/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 4.7/10 X "
[19] "Rate this\n 1 2 3 4 5 6 7 8 9 10 3.1/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 5.4/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X "
[22] "Rate this\n 1 2 3 4 5 6 7 8 9 10 5.7/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 5.1/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X "
[25] "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 6.9/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 4.3/10 X "
[28] "Rate this\n 1 2 3 4 5 6 7 8 9 10 6.6/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X "
[31] "Rate this\n 1 2 3 4 5 6 7 8 9 10 4.1/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 4.6/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X "
[34] "Rate this\n 1 2 3 4 5 6 7 8 9 10 5.1/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 8.3/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 7.1/10 X "
[37] "Rate this\n 1 2 3 4 5 6 7 8 9 10 5.8/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 3.4/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 3.3/10 X "
[40] "Rate this\n 1 2 3 4 5 6 7 8 9 10 3.2/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X "
[43] "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 4.6/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X "
[46] "Rate this\n 1 2 3 4 5 6 7 8 9 10 6.8/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 -/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 6.6/10 X "
[49] "Rate this\n 1 2 3 4 5 6 7 8 9 10 4.4/10 X " "Rate this\n 1 2 3 4 5 6 7 8 9 10 1.5/10 X "
We further need to clean the data to get the ratings.
df %>% gsub(".*9 10", "", .) %>% str_sub(start=1, end=-7) %>% str_replace_all('-', replacement = NA_character_)
[1] NA NA " 3.6" NA " 4.9" " 4.1" " 7.4" " 4.6" NA " 7.9" " 3.3" NA " 6.5" " 6.6" " 5" " 3.6" NA " 4.7" " 3.1" " 5.4" NA " 5.7"
[23] " 5.1" NA NA " 6.9" " 4.3" " 6.6" NA NA " 4.1" " 4.6" NA " 5.1" " 8.3" " 7.1" " 5.8" " 3.4" " 3.3" " 3.2" NA NA NA " 4.6"
[45] NA " 6.8" NA " 6.6" " 4.4" " 1.5"
Get the movie names,
movie = url %>% read_html() %>% html_nodes(".lister-item-header a") %>% html_text()
data.frame(Movie = movie, ratings = df)
Movie Ratings
1 #1915House <NA>
2 #Bodygoals <NA>
3 #Followme 3.6
4 #FullMethod <NA>
5 #Like 4.9
6 #SquadGoals 4.1