Youtube Data API 教学 - 频道资料我都要 search.list

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


Youtube Data API 教学 - 频道资料我都要 search.list

云朵缓缓地飘进了我的生活,不再是为了雨水或迎来暴风,而是为了我的日落,在天空中增添其色彩《泰戈尔- 流浪的小鸟》,这篇是 Python - 数位行销的 Youtube 分析教学系列文章的第 7 篇,也是我参加 2021 iThome 铁人赛中系列文章的第 7 天。Data API 的使用为我们的生活型态增添了些许色彩,在繁忙庸碌的世界中,我们可以慢下脚步,踏过千秋,追寻着数字的跳动与资料的游移。“Clouds come floating into my life, no longer to carry rain or usher storm, but to add color to my sunset sky.” - 《Tagore, Stray Birds》

系列文章:Python — 数位行销分析与 Youtube API 教学
昨日回顾:Youtube Data API 教学 - 基本分类介绍 list.part

关於 Youtube.search.list()

介绍我们的第一个方法 Youtube.search().list(),这个方法能够藉由你所设定参数,回传你希望获得的数值,假设我现在可以利用 q 参数的方式去做 search.list 的搜寻,刚好最近苹果发表会发表了 IPad Mini, IPhone 13 还有一些新款的 Apple Watch 我可以假设定义一个 q = "苹果发表会",他就会进行与 "苹果发表会" 符合的影片进行搜寻,用说的可能会有点抽象,可以参考下图:

截图 2021-09-22 23.21.11.png

我利用 Youtube 搜寻 "苹果发表会" 这个关键字,可以得出几个关键字的结果:

  • 电獭少女的 - Phone 13 新机、iPad mini 6、Apple Watch Series 7 都来了!
  • 3cTim哥生活日常 - Phone 13苹果发表会5分钟重点懒人包:iPad mini6、iPhone13.....
  • 光来的来 - 贾伯斯介绍第一代Iphone 2007 苹果发表会
  • 苹果爹 - iPhone 13 发表会,哪样值得买? iPad mini | Apple Watch 7

关於 search().list() 参数

那我们就能够根据这些作为关键字判断来下我们的 API 关键字,我们使用 youtube.search().list() 方法,根据昨天的文章,并且将里面 part 的参数设定为 "snippet" 来抓取影片的标题,并且在 q 参数中设定 "苹果发表会":

    def youtube_search():
        request = youtube.search().list(
            part="snippet",   
            q="苹果发表会"
        )
    response = request.execute()
    print(response,"\n")

截图 2021-09-22 23.27.25.png

我利用 Youtube Data API 搜寻 "苹果发表会" 这个关键字,可以发现我们得出的的几个关键字结果,大致与刚才的搜寻结果类似,虽然影片推荐会根据观看演算法不同而有不同结果,但是大致相同,我们改为利用回圈方式显示结果,可以更清楚看见结果。

截图 2021-09-22 23.32.02.png

关於 search().list() 的 q 参数还可以这麽做

关於q 参数除了我们所指定要搜寻的关键字外,我们也可以使用布林运算来排除或是搜寻你想要的关键字,来增加搜寻结果的成功率。你可以使用 NOT (-) 或者是 OR ( | ) 的运算符号来排除视频或找与多个关键字。

截图 2021-09-22 23.38.31.png

例如我现在要寻找 “苹果发表会” 但我不想要关键字有 "IPhone" ,那这时候就该将 q 参数值设置为"苹果发表会 -iphone",我们以程序码来说明:

    def youtube_search():
        request = youtube.search().list(
            part="snippet",  
            q="苹果发表会 -iphone",
    )
    response = request.execute()

    result = []
    for i in range(5):
        print(response['items'][i]['snippet']['title'])

截图 2021-09-22 23.41.37.png

总结一下今天的结果!

我们可以使用 youtube.search().list 的方法来抓取影片搜寻的结果,但是考量到影片推荐会因为演算法而有所不同,所以大家在测试的时候能够使用无痕视窗来试试看!谢谢你的阅读,如果有时间也欢迎看看我的夥伴们的文章:

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

Jerry Chien

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

下一篇:Youtube Data API 教学 - 流量配额的计算 Quotas


<<:  【程序】维护成本 转生成恶役菜鸟工程师避免 Bad End 的 30 件事 - 9

>>:  Day7 -104. Maximum Depth of Binary Tree

JS语法学习Day4

学习目标 For回圈 、二维阵列&巢状回圈、class模板 **For回圈 ** For回圈...

Day 17: Structural patterns - Proxy

目的 将实际执行的服务遮蔽,取而代之的,建立一个代理人负责对外窗口的身份,以及对内与该服务沟通。 说...

[Day07] 第七章-简单介绍Laravel的操作及MVC架构

前言 昨天把laravel 环境都装好了 今天来介绍laravel mvc架构吧 目标 简单介绍ph...

Day20实用的线上练习平台

JSFiddle 在刚开始练习JavaScript可以使用这个线上练习工具JSFiddle 因为进入...

[Day28] 透过GCP实作(4/4):透过Scheduler与Pub/Sub使抓取资料自动化

基於昨日文章的说明, 我们已经建立了一个资料库协助我们暂存资料资料 但缺乏驱动负责拉取与上传资料的...