[R語言應用] 利用R語言分析YouTube頻道
0Last Updated on 2024-04-05
你有沒有想知道YouTube頻道的觀看、留言、訂閱者等資料過?一個一個打開很麻煩,全部交給程式處理很簡單。這篇文章告訴你怎麼用R語言分析YouTube資料。
你想用R語言分析YouTube影片和頻道資料嗎?我整理了在R語言當中,如何利用tuber套件搞定YouTube資料,可以輕鬆取用YouTube Data API喔。
R語言中PDF相關套件介紹
在R語言中,如果想要把 YouTube 影片轉成 mp3,你需要使用lares
這個套件。
進入R以前:先取得YouTube資料API金鑰
第一步:到Google Cloude建立專案
我們要先建立專案,才能夠取得相對應的權限。請到Google Cloud頁面,在「歡迎使用」底下,點擊「選擇或建立專案」。
點擊藍字後,接著點擊右上角的「新增專案」,你可以取名字,接著再點擊底下的「建立」。
建立專案後會回到剛剛的Google Cloud首頁,你可以在通知處看到你已經成功建立專案,接著點擊「選取專案」。
接下來就會跳到你的專案頁面囉。
啟用YouTube API
來到專案後,左邊會有一排服務可以選,因為我們要找的是YouTube的API,請你在搜尋框打 YouTube Data API。
搜尋後會跳出一排結果,第一個就是我們要的。
點擊之後,會跳出我們熟悉的紅色Logo,接著點「啟用」。
建立憑證
啟用之後會跳回專案,我們已經啟用這個API,代表我們可以開始使用囉。不過,還有很重要的一步要做,也就是建立憑證。簡單來說,建立憑證後,我們就可以安全地使用這個服務,所以請點擊右上角的建立憑證。
他會問你說,要建立哪種類型的,因為tuber套件要求,即便我們沒有要個資,都還是要申請「OAuth credentials」,所以要點使用者資料。進到畫面後,他會請你取名、提供email,建議兩個email都填你自己的就好,其實這個app只有你自己會用,所以不用太擔心。
後面這邊都不用動,放著就好。
儲存繼續後,接著會請你填類型,我都填電腦版應用程式,這個影響也很小。
按下建立後會給你一個 .com 結尾的字串,把它存下來。最好也按一下下載,最後點完成就好囉。
接下來應該會自動回到API頁面,請你點左邊第三個「憑證」。
點擊憑證後,請看底下第二大段的 Oauth 2.0,然後點右邊的筆icon(編輯)。
接下來就可以看到對應的密鑰了。上面的用戶端編號、底下的用戶端密鑰馬上就會用到。
這時候還要請你再多做一步確保萬無一失。到「Oauth同意畫面」裡面,點擊 ADD USERS,因為我們的app還在測試中,所以只有事先設定的人可以用,要不然會被BAN。
輸入等等要用來認證的電子信箱就搞定了。在這邊輸入後按下儲存。
我們接著出發前往R語言!
進入R以後:利用tuber套件
在RStudio中取得應用程式的認證
請安裝tuber這個R套件,你可以直接從CRAN上下載,也可以去GitHub安裝最新版。
# 安裝tuber套件
# install.packages("devtools")
# devtools::install_github("soodoku/tuber", build_vignettes = TRUE)
假設你安裝好,我們接著執行認證工作。
yt_oauth("你的用戶端編號", "用戶端密鑰")
有時候上面這段沒有run,後面多加一個東西試試看。
yt_oauth("你的用戶端編號", "用戶端密鑰", token = '')
接下來會跳到認證畫面,如果你有不只一個gmail,就會像底下這樣,有很多可以選,點你剛剛有輸入到認證使用者那邊的gmail,如果選到其他可能會被ban,就要關掉RStudio之後重開喔。
他會提醒你這個app還沒驗證,按下繼續就好。
接著授予存取權。名字不叫my project而叫YT test是因為我改過了哈哈。
按下繼續之後,就會顯示已經認證成功,可以再回到RStudio了。
取得YouTube資料
底下我們利用tuber官方介紹的資料先來跑一段程式碼。
看某支影片的表現。
get_stats(video_id="N708P-A45D0"
# $id
# [1] "N708P-A45D0"
#
# $viewCount
# [1] "1230984"
#
# $likeCount
# [1] "9654"
#
# $favoriteCount
# [1] "0"
#
# $commentCount
# [1] "5736"
搜尋VTuber「大合虎子」接下來看有哪些影片符合。
res <- yt_search("大合虎子")
head(res[, 1:3])
# video_id publishedAt channelId
# 1 16xXPY8qpHc 2023-10-05T10:00:01Z UCbeVJYbz9TkCdqRH6nuqTZA
# 2 cub7zF22AZA 2023-05-03T12:00:26Z UCbeVJYbz9TkCdqRH6nuqTZA
# 3 i2yMmd1awUM 2023-06-11T09:30:20Z UCbeVJYbz9TkCdqRH6nuqTZA
# 4 HNebME1NPko 2023-11-11T09:00:09Z UCbeVJYbz9TkCdqRH6nuqTZA
# 5 F9bs-lGS6pE 2023-11-14T04:00:09Z UCbeVJYbz9TkCdqRH6nuqTZA
# 6 QXOVQEqQbuE 2024-01-07T12:00:31Z UCbeVJYbz9TkCdqRH6nuqTZA
後面會再補上頻道、影片等的調用API方式。
小結
這篇文章,介紹了如何在R語言裡面利用tuber套件取得YouTube頻道和影片的相關資訊。希望這種簡單實用的R語言應用對你有幫助,也希望你喜歡這篇文章。
No Comments