[R語言應用] 利用R語言分析YouTube頻道

0

Last Updated on 2024-04-05

Home » R語言教學 » R語言應用 » [R語言應用] 利用R語言分析YouTube頻道

你有沒有想知道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

Leave a Reply