YouTube search.list API:relevanceLanguage与日期筛选结果及算法疑问
我正在使用search.list API检索特定1小时时间段内的视频,设置relevanceLanguage为"uk"并按日期排序,未使用查询参数q,期望获取所有与"uk"语言相关的视频,但仅收到250-350条结果,而该时段内应该存在更多相关视频。
请求链接如下:
https://youtube.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&order=date&publishedAfter=2023-01-29T11:00:00Z&publishedBefore=2023-01-29T12:00:00Z&relevanceLanguage=uk&type=video&key={{apiKey}}
根据文档说明:
The relevanceLanguage parameter instructs the API to return search results that are most relevant to the specified language (according to documentation)
我知晓搜索存在500条结果的限制,因此采用1小时时段来规避该限制。返回的视频在时段内的发布时间分布均匀,其中也包含播放量仅1-10次的视频,但我手动找到的同期相关视频并未出现在API响应结果中。
请问:是否可以认为search.list API仅返回由YouTube推荐算法针对该语言筛选的视频,且可作为用户观看兴趣的代表性样本?
你的判断基本准确。
search.list API从设计上就不是用来抓取全量视频的,哪怕限定了时段和语言,它返回的依然是YouTube算法判定为「与指定语言高度相关」的内容——这里的「相关」不只是看视频的语言属性,还会结合平台的推荐逻辑,比如内容的初期曝光度、用户互动数据、内容质量标签等。那些你手动找到但API没返回的视频,大概率是算法认为它们和"uk"语言的关联性不足,或是还没进入算法的优先检索池。
至于能不能作为用户观看兴趣的代表性样本?可以,但有局限性:它代表的是YouTube算法认为符合目标语言用户兴趣的内容,而非所有该语言的视频。如果你的需求是研究目标语言用户的观看偏好,这个样本有参考价值;但如果是要统计全量的该语言视频产出,这个API的结果就不适用了。
内容的提问来源于stack exchange,提问作者Bogdan Kolodii

