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/cn.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灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP