Youtube Analytics API 教学 - 基本架构 reports.query

「鲑鱼均,因为一场鲑鱼之乱被主管称为鲑鱼世代,广义来说以年龄和脸蛋分类的话这应该算是一种 KNN 的机器学习,不正经的数据分析师,毕业後把人生暂停了半年,在 Google 和 AWS 办过几场演讲,缓下脚步的同时找了份跨领域工作。偶而慢跑、爱跟小动物玩耍。曾立过很多志,最近是希望当一个有细节的人。」


Youtube Analytics API 教学 - 基本架构 reports.query

Youtube Analytics API 能找到的资料非常少,尤其在中文语系中,甚至可以说在我是第一个详细写Youtube Analytics API 的人,相较於 Data API 的自由性,Analytics 的隐私注重较高设定也更为复杂,今天以影片资讯说明,抓取你在创作者工作室 Youtube Studio 中的资讯,他需要具有高度的验证与安全性,但也同时给予了影音串流和数位行销的工作者,有了更加多元的资料运用方式,更灵活的追踪每 Youtube 影片的影片资讯。这篇是 Python - 数位行销的 Youtube 分析教学系列文章的第 19 篇,也是我参加 2021 iThome 铁人赛中系列文章的第 19 天。

系列文章:Python — 数位行销分析与 Youtube API 教学
昨日回顾:Youtube Analytics API 教学 - 请出示身分 Python OAuth 2.0

设定基本架构介绍 reports.query

什麽时候 (When)、你是谁(Who),你要抓什麽资料 (What),在基本架构的设定中,我们最先会看见的设定会是 youtube_analytics.reports().query() 这个方法,这个方法是我们使用 Analytics API 的主要方法,我们在内部的参数中最重要的第一项资讯就是时间的设定,藉由 startDate 开始的时间和 endDate 结束时间来确定你要设定的时间区间。

def main():
    request = youtube_analytics.reports().query(
        startDate='2021-08-01', 
        endDate='2021-09-29'
)
    response = request.execute()

if __name__ == "__main__":
    main()

startDate

  • 你是谁? 你的 channel ID?
    对於 Python 程序来说,他并不知道你是谁,也不知道要跟谁去呼叫这个 API 参数,所以 ids 的设定就是针对你是谁来提供资讯,Youtube API 牵涉到私人资讯,所以我就直接拿我没什麽在经营的个人帐号来 demo 测试好了,在你进入频道後可以在网址列的地方看见你的频道 Channel ID 这项资讯

channel

  • 将频道的 Channel Id 输入进 ids 里
    在 ids 的使用上因为除了个人的频道以外,其实还有分像是内容管理员或是相关等等的帐号(这部分我们後面会写一篇文章介绍),所以我们在 ids 中要先设定他的 channel == "xxx",从以下范例可以看出完整句子:
def main():
    request = youtube_analytics.reports().query(
        startDate='2021-09-01', 
        endDate='2021-09-29',
        ids='channel==UCyRTbF-WQcgW9XV-B_kPpug'
    )
    response = request.execute()

if __name__ == "__main__":
    main()

ids

  • 设定你的 Dimension 和 metrics
    什麽时候 (When)、你是谁(Who),接下来就是要知道你要抓什麽资料 (What),一般来说我们会分为所谓的维度 (Dimension) 和指标 (metrics),类似线图中横轴纵轴,以下设定是 dimensions= 'day' 以日期方式来切分资料,并且以 metrics= 'views,estimatedMinutesWatched' 的方式来抓取观看次数 (view) 和预计观看分钟数(estimatedMinutesWatched)
def main():
    request = youtube_analytics.reports().query(
        startDate='2021-09-01', 
        endDate='2021-09-29',
        ids='channel==UCyRTbF-WQcgW9XV-B_kPpug',
        dimensions= 'day', 
        metrics= 'views,estimatedMinutesWatched',
    )
    response = request.execute()
    print(response)

if __name__ == "__main__":
    main()

metrics

  • 整体状况看来还不错
    基本上有了这五个参数就能做最基本的资料抓取的,谨记着这三个步骤,什麽时候 (When)、你是谁(Who),你要找什麽资料 (What),

谨记着这三个步骤

今天说明了 Youtube Analytics API 的基本架构 reports.query

如果有时间也欢迎看看我的夥伴们的文章

lu23770127 — SASS 基础初学三十天
10u1 — 糟了!是世界奇观!
juck30808 — Python — 数位行销分析与 Youtube API 教学
HLD — 浅谈物件导向与Design Pattern介绍
SiQing47 — 前端?後端?你早晚都要全端的,何不从现在开始?

Jerry Chien

【鲑鱼均】 现职是 200 多万订阅 Youtuber 的数据分析师,专长在 Python 的开发与使用,大学虽然是资讯背景但总是斜杠跑到商管行销领域,以工作角度来说的话,待过 FMCG、通讯软件、社群影音产业,也算是个数位行销体系出生的资讯人。这 30 天铁人挑战赛会从数位行销角度去重新切入数据分析这件事情,期待这个社会中,每个人能在各个角力间不断冲突而渐能找到一个平衡点回归最初的统计建立最终的初心。

下一篇:Youtube Analytics API 教学 - 流量怎麽越来越差 'day' 维度


<<:  Day 19 Ruby Proc vs Lambda

>>:  Day 19:Hexo 文章分类设定小知识!你都知道了吗?

vok-orm 删除关连资料 - day11

vok-orm 删除关连资料 由於 vok-orm 非 JPA、Hibernate 那一类的框架,查...

我们的基因体时代-AI, Data和生物资讯 Day27-进阶人工智慧在分子生物学之应用

上一篇我们的基因体时代-AI, Data和生物资讯 Day26-取用基因序列资讯把整个Biocond...

系统开发生命周期(SDLC)

SDLC定义了工程系统时的阶段和过程。由於系统的多样性,它通常不提供特定的设计原则。 系统开发生命周...

【2022】硬碟资料丢失?试试 5 款超好用的硬碟救援软件

你是否遇到过这样的情况:硬碟被格式化,储存的资料无法获取;硬碟资料被误删而无法找回······硬碟资...

DAY 21- 讯息监别码 MAC

「不是那个MAC。 不对,也不是汉堡。」 MAC能吃吗? 先前我们介绍了数位签章,今天我们要介绍的是...