R_Language 板


LINE

[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) [問題敘述]: 想利用tuber套件抓取特定 YouTube頻道ID的國家與頻道名稱 假設為以下四個頻道,我先建一個空的 data frame 然後用for迴圈抓這四個頻道的國家與頻道名稱填入這個空的 data frame 但都會跑出list,涵蓋下面四個資訊,導致錯誤 Channel Title: xxxxxxxxx No. of Views: 2101540167 No. of Subscribers: 5750000 No. of Videos: 618 請問這個問題該如何解決? 是不是建議用 lapply 來跑? [程式範例]: library(tidyverse) library(tuber) library(scales) library(lubridate) yt_id <- c("UC-9wY4gVMkPGFvFcv63MhKw", "UC4q12NoPNySbVqwpw4iO5Vg", "UCVTDsWA7ItkDj9vt9Kt_oCw", "UCoEpTYzBXDhB5eoSZ6ALa8w" ) access <- yt_oauth(app_id = id, app_secret = pass, token = "") access youtube <- data.frame() for (i in 1:4){ youtube$country[i] <- as.character(get_channel_stats(channel_id = yt_id[i])[[4]][7]) youtube$title[i] <- as.character(get_channel_stats(channel_id = yt_id[i])[[4]][1]) } [環境敘述]: R version 4.0.0 Patched (2020-04-26 r78306) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 18363) [關鍵字]: tuber 謝謝前輩 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.82.64 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1591721034.A.B37.html
1F:→ andrew43: 先用str()看清楚get_channel_stats()回傳什麼東西 06/10 01:04
2F:→ andrew43: 我沒app id不能幫你試,但我猜你只是不熟悉回傳的結構 06/10 01:04
3F:→ iambakr: 感謝Andrew大回覆! 其實我有str()看回傳值是list。但我 06/10 01:28
4F:→ iambakr: 卡在試過轉字串,在第一步回傳是list就停住了... 06/10 01:29
5F:→ iambakr: 所以才想說有沒有什麼使用方式是可以指定list的位置後 06/10 01:30
6F:→ iambakr: 再轉成字串或是數值。目前就是卡在這最關鍵的一步 @@ 06/10 01:31
7F:→ locka: 請問可以貼一下回傳的list範例嗎,值可以是假的,重點是結 06/10 04:11
8F:→ locka: 構 06/10 04:11
9F:推 locka: http://i.imgur.com/Tk3Ul8H.jpg 06/10 04:33
10F:→ locka: 類似這樣子可以嗎?對了id那行應該是id <- c(id, snippet[1 06/10 04:35
11F:→ locka: ]) 06/10 04:35
Hi 感謝L大 我從tuber抓下來的 get_channel_stats(channel_id = xxxxx) List 長這個樣子 --> https://imgur.com/a/gfnXpVz 第二張圖的螢光部分就是我想抓的資訊 不過我照L大的方式抓,沒有成功抓下來country與id get_channel_stats底下的snippet與statistics,分別又是另一個list 所以我一直沒辦法成功抓到想要的資訊..... ※ 編輯: iambakr (111.71.71.107 臺灣), 06/10/2020 12:36:19
12F:→ locka: 我沒有實際操作過這個套件,只是看你code裡面存取get_chann 06/10 13:06
13F:→ locka: el_stat(id)[4][7],猜測你想要的是第4個element裡面的第7 06/10 13:06
14F:→ locka: 個element,裡面應該是id資訊,這樣理解是對的嗎? 06/10 13:06
15F:→ locka: 喔抱歉剛剛沒點進去圖所以沒看到螢光部分,感覺就是資料結 06/10 13:15
16F:→ locka: 構的存取問題,多試幾次慢慢拆囉。ps. 如果那行改成 get_ch 06/10 13:15
17F:→ locka: annel_stats(x)$snippet$country 抓的出國家(AU)嗎? 06/10 13:15
18F:→ locka: 或是 snippet[[7]] 06/10 13:17
我有這樣試過,但最大的問題是: 每次執行時,都會跑出如下面第二張圖的錯誤資訊 https://imgur.com/a/h6MqOvM 好像是因為都會一次跑出下面資訊 Channel Title: Hillsong Worship No. of Views: 2102542413 No. of Subscribers: 5750000 No. of Videos: 618 ※ 編輯: iambakr (111.71.71.107 臺灣), 06/10/2020 15:21:35
19F:→ andrew43: 可以的話把整個get_channel_stat回傳給saveRDS把檔案貼 06/10 15:41
20F:→ andrew43: 在雲端。 06/10 15:41
21F:→ andrew43: 沒辦法重現你的問題實在不方便解答 06/10 15:42
22F:→ locka: 同意樓上大大~ 06/10 18:05
感謝樓上兩位大大 請見下面連結儲存get_channel_stats的RDS檔案 https://1drv.ms/u/s!Ajmg_0PpohUJgzQrQMbckApP5PTK?e=rdPkiE ※ 編輯: iambakr (111.250.82.64 臺灣), 06/11/2020 00:48:37
23F:→ andrew43: rds讀入後叫x,用x$snippet$localized$title 06/11 09:43
24F:→ andrew43: 和x$snippet$country就行了吧 06/11 09:43
25F:→ andrew43: x$snippet[[1]]等同x$snippet[1][[1]]但不同於 06/11 09:48
26F:→ andrew43: x$snippet[1],這大概是你卡關的關鍵 06/11 09:48
27F:→ andrew43: 下次你不確定成不成的時候,可先檢查要取出的一個字串 06/11 09:55
28F:→ andrew43: 是不是長度為1的character vector就可以避免了。 06/11 09:56
29F:推 locka: 還有我發現可能還有一個地方有問題:大大你 youtube <- dat 06/12 00:14
30F:→ locka: a.frame() 只是宣告了一個空的dataframe沒有告訴他有多少筆 06/12 00:14
31F:→ locka: 資料,這樣後面 youtube$country[i]可能找不到東西,後面錯 06/12 00:14
32F:→ locka: 誤訊息應該是在指這件事。如果要用for迴圈的話請一開始就宣 06/12 00:14
33F:→ locka: 告好list或dataframe的大小,不然就用 list <- c(list, ele 06/12 00:14
34F:→ locka: ment)的方式append 06/12 00:14







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP