suppressMessages(library(rvest))
suppressMessages(library(rvest))
suppressMessages(library(tidyverse))
suppressMessages(library(tidyverse))
suppressMessages(library(magrittr))
suppressMessages(library(scales))
suppressMessages(library(knitr))
suppressMessages(library(lubridate))
url <- "https://www.azlyrics.com/b/badbunny.html"
SongsListScraper <- function(x){
page <- x
songs <- page %>%
read_html() %>%
#To get the node of information, use SelectorGadget in Chrome. It lets you select the attributes needed from the page and returns html_node values, like '.col-md-6 a' that are required for our scraper.
html_nodes('.col-md-6 a') %>%
html_text() %>%
as.data.frame()
chart <- cbind(songs)
names(chart) <- c("Songs")
chart <- as.tibble(chart)
return(chart)
}
SongsList <- map_df(url, SongsListScraper)
SongsList
## # A tibble: 53 x 1
## Songs
## <fct>
## 1 Ahora Me Llama
## 2 Ahora Me Llama (Remix)
## 3 Amantes De Una Noche
## 4 Amigos Y Enemigos (Remix)
## 5 Amorfoda
## 6 Blockia
## 7 Caile
## 8 Chambea
## 9 Crecia
## 10 Dema Ga Ge Gi Go Gu
## # ... with 43 more rows
Now that we have the names of the songs, we need to find a few URL’s that contain the lyrics and see if there is a pattern on the address. Also we have to clean our list of songs and even remove some of them.
Most of the lyrics contain the following pattern:
Constant——————————–/variable
https://www.azlyrics.com/lyrics/badbunny/ahoramellama.html
https://www.azlyrics.com/lyrics/badbunny/ahoramellamaremix.html
I found some songs that do not follow the pattern, we have to make sure to take these off.
SongsList %<>%
mutate(
Songs = as.character(Songs) #converting the values from factors for strings
,Songs = gsub("[[:punct:]]", "", Songs) #This will get rid of most special characters
,Songs = tolower(Songs) #lower casing everything
,Songs = gsub("ú", "", Songs)
,Songs = gsub("á", "", Songs)
,Songs = gsub("ó", "", Songs)
,Songs = gsub(" ", "", Songs) #removing spaces and other letters that can't be included in url's
)
(SongsList$Songs)
## [1] "ahoramellama" "ahoramellamaremix"
## [3] "amantesdeunanoche" "amigosyenemigosremix"
## [5] "amorfoda" "blockia"
## [7] "caile" "chambea"
## [9] "crecia" "demagagegigogu"
## [11] "demoniabaila" "diles"
## [13] "dilesremix" "dimesiteacuerdas"
## [15] "estrico" "estamosbien"
## [17] "favoritodeloscaposremix" "giveitup"
## [19] "hoy" "latshirtdebiggie"
## [21] "laltimavez" "lean"
## [23] "mellueven" "mellueven2"
## [25] "mellueven30" "memata"
## [27] "mipuertorico" "mia"
## [29] "mia20" "netflixxx"
## [31] "notehagas" "original"
## [33] "otravez" "pati"
## [35] "paquelederemix" "prayer"
## [37] "prohibido" "satisfaccin"
## [39] "sensualidad" "situnoviotedejasola"
## [41] "solita" "soypeor"
## [43] "soypeorremix" "tedescuid"
## [45] "telometoyo" "thinkin"
## [47] "trepate" "tunometescabra"
## [49] "tunometescabraremix" "tunoviveasi"
## [51] "unratitomas" "vamospalacalle"
## [53] "cualestuplan"
#I'm removing some songs that do not belong to Bad Bunny, causing the URL(on step 5) to give an error due to a change on the pattern.
SongsList <- SongsList[-c(15, 17, 21, 32, 38, 40, 46, 48, 50), ]
SongsList$Songs
## [1] "ahoramellama" "ahoramellamaremix" "amantesdeunanoche"
## [4] "amigosyenemigosremix" "amorfoda" "blockia"
## [7] "caile" "chambea" "crecia"
## [10] "demagagegigogu" "demoniabaila" "diles"
## [13] "dilesremix" "dimesiteacuerdas" "estamosbien"
## [16] "giveitup" "hoy" "latshirtdebiggie"
## [19] "lean" "mellueven" "mellueven2"
## [22] "mellueven30" "memata" "mipuertorico"
## [25] "mia" "mia20" "netflixxx"
## [28] "notehagas" "otravez" "pati"
## [31] "paquelederemix" "prayer" "prohibido"
## [34] "sensualidad" "solita" "soypeor"
## [37] "soypeorremix" "tedescuid" "telometoyo"
## [40] "trepate" "tunometescabraremix" "unratitomas"
## [43] "vamospalacalle" "cualestuplan"
Function by Matt M in the following analysis: https://rpubs.com/mattEJ/nickelback
# function to scrub html out of text ----
wipe_html <- function(str_html) {
gsub("<.*?>", "", str_html)
}
# navigate to each song's URL and scrape the album name and lyrics ----
## empty vectors
lyrics <- c()
## specify row number to add to data frame
number <- 1
## for-loop and create data frame from the two vectors
for(i in seq_along(SongsList$Songs)) {
for_url_name <- SongsList$Songs[i]
## clean up song name for URL
for_url_name <- tolower(gsub("[[:punct:]]|\\s", "", for_url_name))
## create url
paste_url <- paste0("https://www.azlyrics.com/lyrics/badbunny/", for_url_name, ".html")
## open connection to url
for_html_code <- read_html(paste_url)
## scrape lyrics via selector path
for_lyrics <- html_node(for_html_code, xpath = "/html/body/div[3]/div/div[2]/div[5]")
## scrub html and control characters out of the lyrics
for_lyrics <- wipe_html(for_lyrics)
for_lyrics <- gsub("[[:cntrl:]]", " ", for_lyrics)
## add for_lyrics to respective vectors
lyrics[number] <- for_lyrics
number <- number + 1
## status check
show(paste0(for_url_name, " scrape complete!"))
## optional: add in 10 second delay to avoid IP block
Sys.sleep(10)
}
## [1] "ahoramellama scrape complete!"
## [1] "ahoramellamaremix scrape complete!"
## [1] "amantesdeunanoche scrape complete!"
## [1] "amigosyenemigosremix scrape complete!"
## [1] "amorfoda scrape complete!"
## [1] "blockia scrape complete!"
## [1] "caile scrape complete!"
## [1] "chambea scrape complete!"
## [1] "crecia scrape complete!"
## [1] "demagagegigogu scrape complete!"
## [1] "demoniabaila scrape complete!"
## [1] "diles scrape complete!"
## [1] "dilesremix scrape complete!"
## [1] "dimesiteacuerdas scrape complete!"
## [1] "estamosbien scrape complete!"
## [1] "giveitup scrape complete!"
## [1] "hoy scrape complete!"
## [1] "latshirtdebiggie scrape complete!"
## [1] "lean scrape complete!"
## [1] "mellueven scrape complete!"
## [1] "mellueven2 scrape complete!"
## [1] "mellueven30 scrape complete!"
## [1] "memata scrape complete!"
## [1] "mipuertorico scrape complete!"
## [1] "mia scrape complete!"
## [1] "mia20 scrape complete!"
## [1] "netflixxx scrape complete!"
## [1] "notehagas scrape complete!"
## [1] "otravez scrape complete!"
## [1] "pati scrape complete!"
## [1] "paquelederemix scrape complete!"
## [1] "prayer scrape complete!"
## [1] "prohibido scrape complete!"
## [1] "sensualidad scrape complete!"
## [1] "solita scrape complete!"
## [1] "soypeor scrape complete!"
## [1] "soypeorremix scrape complete!"
## [1] "tedescuid scrape complete!"
## [1] "telometoyo scrape complete!"
## [1] "trepate scrape complete!"
## [1] "tunometescabraremix scrape complete!"
## [1] "unratitomas scrape complete!"
## [1] "vamospalacalle scrape complete!"
## [1] "cualestuplan scrape complete!"
Check how many songs were scraped:
NROW(lyrics)
## [1] 44
head(lyrics)
## [1] " [Karol G:] Ahora me llama Diciendo que le hago falta en su cama Sabiendo que eso conmigo no va, ya no va Ahora sólo quiero salir con mi propio squad Porque la noche es mía La voy a disfrutar sin tu compañía Ahora yo quiero vivir la vida, día a día Al fin y al cabo, esta vida es mía, mía Salí con el corazón partido y no quiero na' Ahora sólo quiero los mejores tragos y la ropa traída 'e Dubái Y llámalo como tú quieras Lo que tú digas me resbala Yo sólo vivo a mi manera Y llámame como tú quieras Lo que tú digas me resbala Yo sólo vivo a mi manera[Bad Bunny:] Baby deja el stalk, o en el Instagram voy a darte block Quiere volver conmigo y don't give a fuck Ya tu gastaste todos los strikes Y no pienso hablarte por más que me estés dando likes No tengo 4 babies, tengo 23 como Mike Me va mucho mejor así soltero Jangueo’, bebo, fumo, hago to' lo que yo quiero No me hables de amor verdadero Yo tengo una colombiana y se lo meto entero (yeh) Yo-yo ando con lo mío Mi squad en lo que yo confío Crecio’, yo nunca le bajo No joda baby y arranca pal carajo[Karol G:] Y llámalo como tú quieras Lo que tú digas me resbala Yo sólo vivo a mi manera Y llámame como tú quieras Lo que tú digas me resbala Yo sólo vivo a mi manera El estilo de vida que yo llevo desde hace rato a mí me encanta Estoy soltera, hago lo que quiera y nadie levanta mi falda Sin antes era mala Ahora viene la nueva versión y más mala Sigo haciendo fama Después yo veo que gustico llego a mi cama Que vivir de amores, eso ya no me hace falta Yo soy dueña de mi vida, a mí nadie me manda (Yo soy dueña de mi vida, a mí nadie me manda)[Bad Bunny:] Me va mucho mejor así soltero Jangeo’, bebo, fumo, hago to' lo que yo quiero No me hables de amor verdadero Yo tengo una colombiana y se lo meto entero (yeh)[Karol G:] Ahora yo quiero vivir la vida, día a día Al fin y al cabo, esta vida es mía, mía Salí con el corazón partido y no quiero na' Ahora sólo quiero los mejores tragos y la ropa traída 'e Dubái Y llámame como tú quieras Lo que tú digas me resbala Yo sólo vivo a mi manera[Bad Bunny:] Yeh-yeh-yeh-yeh Karol G Bad Bunny baby (Ovy On The Drums) Hear This Music, bebé Díselo a Luían "
## [2] " [Quavo & Bad Bunny:] Call my phone it don't answer Call, call my phone it don't answer Call my phone it don't answer Call, call my phone it don't answer[Karol G:] Ahora me llama Diciendo que le hago falta en su cama Sabiendo que eso conmigo no va, ya no va Ahora sólo quiero salir con mi propio squad Porque la noche es mía La voy a disfrutar sin tu compañía[Bad Bunny:] Ahora yo quiero vivir la vida Al fin y al cabo esta vida es mía[Karol G:] Salí con el corazón partido y no quiero na' Ahora sólo quiero los mejores tragos y la ropa traída 'e Dubái Y llámalo como tú quieras Lo que tú digas me resbala Yo sólo vivo a mi manera Y llámame como tú quieras Lo que tú digas me resbala Yo sólo vivo a mi manera[Quavo:] Quavo! She won't leave me alone she wanna hang on She know I got millions at the top floor All in your feelings singing the same song I had you in the fame now your fame gone Brr, brrr, brrr, brrr Call my phone it don't answer Brr, brrr, brrr, brrr, brrr I'm in the jungle like panthers Brr, brrr, brrr, brrr Call for my private dancer (ya) And she latino And she grind for the Migos She can do anything she want to (Do anything she want) She can do anything she'll show you (Promise she gon' show you) Imma make sure the vibes in the room (Vibes in the room) Imma sweep your heart like I'm a broom (Sweep sweep sweep)[Bad Bunny:] Me va mucho mejor así soltero Jangeo’, bebo, fumo, hago to' lo que yo quiero No me hables de amor verdadero Yo tengo una colombiana y se lo meto entero (yeh) Y llámalo como tú quieras Lo que tú digas me resbala Yo sólo vivo a mi manera Y llámalo como tú quieras Lo que tú digas me resbala Yo sólo vivo a mi manera[Karol G:] El estilo de vida que yo llevo desde hace rato a mí me encanta Estoy soltera, hago lo que quiera y nadie levanta mi falda Si antes era mala Ahora viene la nueva versión y más mala Sigo haciendo fama Después yo veo que gustico llego a mi cama Baby, I don't wanna be the one that craves for you I'm not gonna be that one to do what you wanna do No necesito tu nombre como otras mujeres Verte ya no está en mis planes, don't call me Que vivir de amores, eso ya no me hace falta Yo soy dueña de mi vida, a mí nadie me manda Yo soy dueña de mi vida, a mí nadie me manda[Quavo:] Brr, brrr, brrr, brrr Call my phone it don't answer Brr, brrr, brrr, brrr, brrr I'm in the jungle like panthers Brr, brrr, brrr, brrr Call for my private dancer (ya) And she latino And she grind for the Migos Karol G Quavo Bad Bunny, baby Ovy on the drums Hear this Music, bebé Diselo Luian Karol G, Karol G "
## [3] " [Bad Bunny:] Yeeh, yeh, yeh, yeh Yeeh, yeh, yeeeeh[Natti Natasha (Bad Bunny):] Aunque lo bueno se tarde, espero No tengo prisa, pero es que quiero yo (baby tú solo dime y) Estar contigo, vista al mar donde no hayan testigos (yo voy pa to' lo que tu quieras, hehe) Es que no me resisto al verte, dime Aquí estoy yo ooh, tengo lo te gusta[Bad Bunny:] Pasa una noche conmigo Sé que tú no te asustas[Natti Natasha:] Pero es que aquí estoy yo, ooh Si quieres hoy me buscas Si das el paso te sigo Es que no me hace sentido que seamos amigos nada más Uoh nou Uoh na na na, uoh na na na eh Amantes de una noche Uoh na na na, uoh na na na oh Tú te vienes conmigo Uoh na na na, uoh na na na eh Amantes de una noche Uoh na na na, uoh na na na oh Tú te vienes conmigo[Bad Bunny:] Hay muchas pero yo quiero con Natti Nat Llegó mi turno al bat Hoy el conejo va a sacarle lo de bad La baby es fina pero escucha trap Me envió una foto sexy con el link de Google Maps Pa' llegarle, ma' yo sé que tú quieres probarme Tú quieres encerrarme En tu cuarto y si es de tí yo vo' a dejarme, yeh[Natti Natasha:] Esta nena no te sale grati' Te tiene' que joder pa' bajarme el panty Yo puedo ser tu baby o tu chica nasty Como quieras que la ponga, a mí me sale fácil Me paso tos' los días chequeando tus fotos Serás el autor de los corazones rotos Mi' paca con cualquiera que quiera la boto No brego con Menudo, súbete a mi moto Oh-uh-oh-uh Uoh na na na, uoh na na na eh Amantes de una noche Uoh na na na, uoh na na na oh Tú te vienes conmigo Uoh na na na, uoh na na na eh Amantes de una noche Uoh na na na, uoh na na na oh Tú te vienes conmigo[Bad Bunny:] La baby conmigo tiene una fantasy Yo le dije que sí Que le iba a explotar la nota como si fuese éxtasís A tu novio dile Que yo me sé tus poses favorita' y que él no vive así No entiendo por qué sólo somos panas Si nos sobran las ganas De hacer más de ocho poses en la cama Él tiene Dolce y yo la Gabbana Así que vamo' a juntarno' que nadie sabe si guaya hasta mañana, yeh[Bad Bunny (Natti Natasha):] Baby es que tú, uh-uh Tienes lo que me gusta (Pasa una noche conmigo-oh, lo malo no me asusta, ahh) Baby es que tú, uh-uh Tienes lo que me gusta Tú me dice' y yo te hago to' de una Te lo hago hasta que se esconda la luna, bebé[Natti Natasha:] Uoh na na na, uoh na na na eh Amantes de una noche Uoh na na na, uoh na na na oh Tú te vienes conmigo Uoh na na na, uoh na na na eh Amantes de una noche Uoh na na na, uoh na na na oh Tú te vienes conmigo[Bad Bunny & Natti Natasha:] Yeh, yeh, yeh, yeeh Bad Bunny baby Bad Bunny beibé (yeh) Natti Natasha be Natti Na (yeh), Natti Na Pina Records La Súper Formula Hear This "
## [4] " [Bad Bunny:] Yo sé Que tú quieres dormir Hoy en mi cama Cuando te deje sola tú me llamas [Noriel:] Con él te la pasas peleando Y él no tiene ni idea Que conmigo te quedas ronca gritando [Bad Bunny:] Baby apaga el celular Te voy a buscar a las 12 \u2028Si tu hombre nos coge dile Que ta mal que Tu no me conoces Pa' asegurar somo' amigo Pero en la cama enemigos Cuando él te deja sola Tú te vuelves loca por estar conmigo [Noriel:] Baby apaga el celular Te voy a buscar a las 12 Si tu hombre nos coge dile Que ta mal que Tu no me conoces Pa' asegurar somo' amigo Pero en la cama enemigos \u2028Cuando él te deja sola Tú te vuelves loca por estar conmigo No–No-Noriel Ese gato tuyo es un idiota En la cama ya no te da nota A este bicho le dicen Mayweather Porque está invicto Y sin una derrota Dile que conmigo tu flota' Que se esté tranquilo Que se busca a otra Él es como la manzana de Apple Esta mordido y eso se nota Baby tu eres como el pan, Porque me has dado ese culo dos veces Tu novio parece un SamSam Y no te lo mete como tú merece Pichea las estupideces Ponte de rodillas Y no es pa' que reces, Y dile a tu novio que evite Si no quiere que la AK lo enderece Yo voy a darte pa' que toda la vida Te acuerdes de mí, Tú sueñas conmigo despierta Desde el primer día que te vi No importa la hora Cuando estés conmigo lo ignoras Lo más que me gusta de ti Es que de mi tú no te enamoras [Bad Bunny:] Bad bunny baby Te invité pa casa y le piche al cine, Me lo mamo hasta que me vine Llenamos de leche y sudor los cojines Perfúmate bien échate versene (eh) Prende otro phillie bebe Antes que este se termine Vamo' a hacerlo otra vez Que pa' eso fue que yo vine Tu novio tiene cara que trabaja en forever 21 Lo tuyo y lo de él es como ella como leguan Dile que yo ando con el lightsaber como Obi Wan Tony Montana chingando es el vira, Ya es experta creando mentiras, Conmigo lo haces semanal Contigo el condón se le expira (eh) Baby apaga el celular Te voy a buscar a las 12 Si tu hombre nos coge dile Que ta mal que Tu no me conoces Pa' asegurar somo' amigo Pero en la cama enemigos Cuando él te deja sola Tú te vuelves loca por estar conmigo [Noriel:] Baby apaga el celular Te voy a buscar a las 12 Si tu hombre no coge dile Que ta mal que Tu no me conoces Pa' asegurar somo' amigo Pero en la cama enemigos Cuando él te deja sola Tú te vuelves loca por estar conmigo [Almighty:] Percoset antes de buscarte, Así te duro toda la noche Antes de que vaya a entregarte, Llamé y él contestó yo pregunté por otra Dile que te vas con tu amiga Baby dile que la noche Es de nosotras ma' Mientras el trabaja La trabajo a ella Al mediodía la secuestro No se envuelve Porque nada le demuestro Siempre repito Nadie sabe de lo nuestro Tu eres mi plata principal Pero mami Paso la lengua Como paso el tsunami Yo quiero que duerma en mi cami' Se fue a cantar abajo Yo abajo me gano un Grammy Dile que tú eres una sweetgirl Que te gusta que te den un bigote Como el de las spreaker Tus bellaqueos son tus gingels Asi que apaga el celular Que estoy llegando con el finger Yo te lo meto Mientras él quiere cantar Yo te lo dije que te va a encantar Dile que meta mano Que no se puede quitar Y que si esta de mostro Vino malo pa' explotar [Noriel:] Yo sé que tú quieres Dormir hoy en mi cama Cuando te deje sola Tú me llamas [Bad Bunny:] Con él te la pasas peleando Y él no tiene ni idea que conmigo Te quedas ronca gritando Ah ah No-No-Noriel Dímelo Noriel Is the game changer Almighty Dimelo Almighty De la Sangre Nueva Bad Bunny baby La cima más poderosa Que ha salido todo este año Santana Hear This Music Dicelo Luian Bad Bunny baby Dimelo Gata Trap Capos "
## [5] " No quiero que más nadie me hable de amor Ya me cansé, to' esos trucos ya me los sé Esos dolores los pasé, yeh, yeh, yeh No quiero que más nadie me hable de amor Ya me cansé, to' esos trucos ya me los sé Esos dolores los pasé Hoy te odio en el secreto, ante todo lo confieso Si pudiera te pidiera que devuelva' to' los besos que te di La' palabra' y todo el tiempo que perdí Me arrepiento una y mil veces de haber confiao' en ti (huh) Quisiera que te sientas como yo me siento (siento) Quisiera ser como tú: sin sentimiento' (-miento) Quisiera sacarte de mi pensamiento (-miento) Quisiera cambiarle el final al cuento Toas' las barras y los tragos han sido testigo' Del dolor que me causaste y to' lo que hiciste conmigo Un infeliz en el amor que aún no te supera Y que ahora camina solo sin nadie por toas' las acera' Preguntándole a Dios si en verdad el amor existe Y por qué si yo era tan bueno toa' esta mierda tú me hiciste (-ciste) Lo más cabrón es que tú ve todo como un chiste Siempre voy a maldecir el día en que naciste Los chocolates que te di y todas las flores (-res) Se convierten hoy en día en pesadilla' y dolore' Yo ya perdí la fe de que tú mejore' (-jore') Si después de la lluvia sale el arcoíri' pero sin colore', yeh No quiero que más nadie me hable de amor Ya me cansé, ya esos trucos ya me los sé Esos dolores los pasé, yeh, yeh, yeh No quiero que más nadie me hable de amor Ya me cansé, ya esos trucos ya me los sé Esos dolores los pasé, yeh, yeh, yeh "
## [6] " Usted tiene un nuevo mensaje de voz, mensaje nuevo: \"Hola mi amor, te he llamado muchas veces. Veo que te va bien, que tienes muchos shows. No sabes cuánto...\" Mensaje marcado[Bad Bunny:] Baby no me llames más Que yo sé lo que tu das, yeh De ti no quiero saber Lo nuestro se acabó y no hay vuelta atrás Una más y te va' blockia[Bad Bunny & Farruko:] No me llames más Que yo sé lo que tu das, yeh De ti no quiero saber Lo nuestro se acabó y no hay vuelta atrás Una más y te va' blockia[Farruko:] Baby no me llames más, no me busques mas De ti no quiero saber, no te quiero volver a ver De mis redes ya yo te blockie porque no supiste ser fiel Tú me utilizaste, de mi abusaste, mejor quédate con el Más pa' alante vive gente eso lo sabes tu Que al final de la oscuridad siempre se ve la luz No quiero saber más de ti (Farru)[Farruko:] Baby no me llames más Que yo sé lo que tu das De ti no quiero saber Una más y te vas blockia, te vas blockia[Bad Bunny:] No me llames más Que yo sé lo que tu das, yeh De ti no quiero saber Lo nuestro se acabó y no hay vuelta atrás Una más y te va' blockia, yeh Te dedique canciones Por ti rompí un par de corazones Me gaste el ticket en tus operaciones Son muchas las razones pa' que te odie y no te perdone Que cambiaste, me tiene sin cojone Tu número yo no lo pedí Y no te borro 'e Facebook pa' que veas que sin ti yo estoy feliz El ultimo break ya yo te lo di Si te lo vuelvo a meter es porque de ese toto no me despedí Tu eres una psycho y una loqui' (yeh) Por eso en el Instagram ma' ya yo te blocki-eh No vuelvo a confiar como en ti yo confié A tu nombre hoy abro veinte de Moët[Bad Bunny (Bad Bunny & Farruko):] (Baby no me llames más Que yo sé lo que tu das, yeh De ti no quiero saber) Lo nuestro se acabó y no hay vuelta atrás Una más y te vas blockia (No me llames más Que yo sé lo que tu das, yeh) De ti no quiero saber Lo nuestro se acabó y no hay vuelta atrás Una más y te va' blockia, yeh[Bad Bunny (Farruko):] Yeh, yeh, yeh, yeh (It's trap season nigga Hear This Music) Bad Bunny baby-be-be Farruko, Hear This - Hear This Music, yeh (Trap Kingz) Díselo Luian, Dj Luian Mambo Kingz Mambo Kingz, (Mambo Kingz, yeh Bad Bunny, Trap Kingz baby Farru) "
Saving data set as an RDS file:
# Saving object to a file for the next analysis which is sentiment.
saveRDS(lyrics, file = "bad_bunny_lyrics.rds")