正在进行一个需要YouTube日志的事务的Django项目。想象中会花费一个下午的时间。但是并没有。
首先尝试使用youtube-transcript-api。对于初步测试的几段视频来说是足够的。但是当尝试处理超过50个视频时,YouTube就开始抛出429错误,并最终阻止了我的服务器。这是传统的错误。
Django方面的项目是无关紧要的。使用的数据模型是用于存储日志的模型,创建一个接受视频链接的视图,使用celery任务进行后台处理。标准的做法。然而,实际存在的问题是难以得到可靠的日志。
给我的困扰者是:
- 自动生成的字幕缺乏标点,并破坏任何技术问题。“DjangoREST Framework”会变成 “jangorestframe work ”lol
那么多的边缘情况存在着。私有的视频,限制年龄的视频,没字幕,字幕只有韩语但你期望的却是英语字幕,区域受限的视频。每一类都失败的不同
YouTube改变了一些内容,突然有一天你在用你的爬虫时,就会因为这样而突然失败。没有任何解释
真正让我感到惊讶的是,时间戳的有用性。最初我只是想要一个普通的文本但是得到start/end时间的详细信息,用户可以点击并跳转到视频的精确位置。这个功能是没有预期到但是它引起了用户的爱好。
一直在思考完全放弃使用自己爬虫的方法。难以维护在YouTube上的爬虫感觉像是长期的大赢家。一旦你使用第三方服务的服务呢还是大家都在尝行同样的辛苦啊?
编辑:这就是我所用的[API ]
评论 (0)