如何从youtube数据Feed中获取所有视频ID?
我通过此(API)网址收到了youtube供稿:http://gdata.youtube.com/feeds/base/users/#userid#/uploads?alt=rss&v=2&orderby=published&client=ytapi-youtube-profile
我已经知道如何从 Channels 中提取链接,描述和缩略图,但我想从 Channels 中提取所有视频ID(例如http://www.youtube.com/watch?v= WWooNnPnHTs )
7 回答
这是我的方式 . 慢,但它的工作原理 . :)
用这个:
GET https://www.googleapis.com/youtube/v3/search?part=id&channelId=UC9MAhZQQd9egwWCxrwSIsJQ&maxResults=10&order=date&key=
您将获得上述网址的结果:
如需更多参考,请查看here
使用youtube data api v3来做到这一点 . here's the link
嗨,我认为你应该从视频链接中的v参数中检索值,你可以使用正则表达式或子串...
我知道这是一个老问题,但我写了一些东西来做这里要求的东西:
https://gist.github.com/gport/5693404
只需编辑第23行:
至:
这将返回一个包含用户视频ID的数组:)
编辑:对不起家伙(@testing,@ Code_Ed_Student),不知道为什么要点不再存在,但我在我的档案中找到了它,代码如下 . 实现与旧示例略有不同,但实现相同(您可以用任何其他逻辑替换数组) .
可能看起来
search
API是一个好主意,通过一个循环检索所有视频,但显然不是 . 如果一个 Channels 有数千(超过1600)个视频,search
将不会返回所有视频:最后几个结果页面将为空,结果数量将是错误的,并且给定页面的数量将仅为20页左右 .因此,如果您需要通过API获取所有ID,那么最好首先使用
channels
API获取"uploads"播放列表ID,然后在playlistItems
API中使用它来检索所有视频 .第一个请求URL将如下所示(当然,在开头使用https://www.googleapis.com/youtube/v3/):
结果:
或者,如果您不需要大量字节,请使用以下过滤器字段:
过滤结果:
下一步是获取包含视频的所有页面的列表:
结果(缩短
items
键中数组的第一个结果):或者过滤的只能获得视频的ID(以及下一页令牌):
结果:
您可以使用
nextPageToken
键值检索下一页,并使用pageToken
键将其添加到GET参数:(我从上面的结果中获取了一个令牌,例如,它可能与您的请求不同)
在最后一页上将没有
nextPageToken
键 .注意:数组转换为字符串
C:\wamp\www\youtube-vimeo-api-playlist-to-database-importer-master\youtube-vimeo-api-playlist-to-database-importer.php
在28号线上