2017-12-04 4 views
0

Vimeo에서 특정 태그가있는 내 비디오에 대한 정보를 얻으려고합니다. API를 읽었지만 특정 태그가 포함 된 동영상을 요청하는 방법을 찾지 못했습니다. 그것은 오직 공개 비디오에 대한 태그 검색을 제공하고 자신의 비디오에 대한 모든 기능을 얻을 수 있습니다. 따라서 모든 동영상을 요청한 다음 사전을 통해 관련 데이터를 검색하면됩니다.목록의 사전에서 관련 데이터 가져 오기

그러나 Vimeo에서는 한 번에 100 개의 비디오 만 요청할 수 있습니다. 내 계정에 100 개 이상의 동영상이 있으므로 모든 동영상을 가져 오기 위해 사전 목록을 만들어야합니다. 내가 원하는 무엇

[{'data': [{'download': [{'created_time': '2017-11-30T15:01:44+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 25, 
         'height': 360, 
         'link': 'https://player.vimeo.com/play/884123433?s=245200119_1512117636_a70a08b2710ec2c731c9d39729895c76&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=05%2BF1%2BClassic%2BRaces%2B1983.%2BMonaco%2BHighlights164.mp4', 
         'md5': 'f87ad14ecf73f27bc4fd2ff537f9cf9b', 
         'quality': 'sd', 
         'size': 128905331, 
         'type': 'video/mp4', 
         'width': 520}, 
        {'created_time': '2017-11-30T15:01:44+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 50, 
         'height': 1080, 
         'link': 'https://player.vimeo.com/play/884123432?s=245200119_1512117636_ffaf6e2eb391b06cff5e534dfd026204&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=05%2BF1%2BClassic%2BRaces%2B1983.%2BMonaco%2BHighlights169.mp4', 
         'md5': 'fe06de889adf38dceb92089427c4a0cc', 
         'quality': 'hd', 
         'size': 1072969191, 
         'type': 'video/mp4', 
         'width': 1560}, 
        {'created_time': '2017-11-30T15:01:44+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 50, 
         'height': 720, 
         'link': 'https://player.vimeo.com/play/884123428?s=245200119_1512117636_4f7665421693d392a0e7caabb331c075&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=05%2BF1%2BClassic%2BRaces%2B1983.%2BMonaco%2BHighlights174.mp4', 
         'md5': '6b62e4aaa044f8802f6ba30c29047b69', 
         'quality': 'hd', 
         'size': 562614988, 
         'type': 'video/mp4', 
         'width': 1040}, 
        {'created_time': '2017-11-30T15:01:44+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 25, 
         'height': 540, 
         'link': 'https://player.vimeo.com/play/884123427?s=245200119_1512117636_a1718ab65d37637e0406c8ab099f8f50&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=05%2BF1%2BClassic%2BRaces%2B1983.%2BMonaco%2BHighlights165.mp4', 
         'md5': '4d014ea00d0c8620869f5ad4c5b4e404', 
         'quality': 'sd', 
         'size': 364759333, 
         'type': 'video/mp4', 
         'width': 780}, 
        {'created_time': '2017-11-30T15:01:44+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 25, 
         'height': 1080, 
         'link': 'https://player.vimeo.com/play/884123417?s=245200119_1512117636_9c7ad015a30585c3cedb9429ffd0c9f2&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=05%2BF1%2BClassic%2BRaces%2B1983.%2BMonaco%2BHighlights175.mp4', 
         'md5': 'd73682a6385154a83fe1653176bf17ab', 
         'quality': 'hd', 
         'size': 1071546729, 
         'type': 'video/mp4', 
         'width': 1560}, 
        {'created_time': '2017-11-30T14:51:00+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 50, 
         'height': 1080, 
         'link': 'https://player.vimeo.com/play/884114225?s=245200119_1512117636_034586db598d6b398ecf86fe7bb50fb7&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=05%2BF1%2BClassic%2BRaces%2B1983.%2BMonaco%2BHighlightssource.webm', 
         'md5': '76bcb8c1cd19b7ffa4d59f7961bb3076', 
         'quality': 'source', 
         'size': 1429585788, 
         'type': 'source', 
         'width': 1560}], 
     'tags': []}, 
    {'download': [{'created_time': '2017-11-25T18:13:28+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 25, 
         'height': 540, 
         'link': 'https://player.vimeo.com/play/880414686?s=244460915_1512117636_e99e772d06f2be1f3e792e2eaf9649ab&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=Formula1%2B2017%2BAbudhabi%2BQUalifying165.mp4', 
         'md5': '8e920c971257c4578ce9a23bcd532b2a', 
         'quality': 'sd', 
         'size': 1913433310, 
         'type': 'video/mp4', 
         'width': 960}, 
        {'created_time': '2017-11-25T18:13:28+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 50, 
         'height': 720, 
         'link': 'https://player.vimeo.com/play/880414685?s=244460915_1512117636_219ce4f61b0c8169d06951488b07a242&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=Formula1%2B2017%2BAbudhabi%2BQUalifying174.mp4', 
         'md5': 'c4a58556df95ca0ee2283793b6f099cb', 
         'quality': 'hd', 
         'size': 3090734703, 
         'type': 'video/mp4', 
         'width': 1280}, 
        {'created_time': '2017-11-25T18:13:28+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 50, 
         'height': 1080, 
         'link': 'https://player.vimeo.com/play/880414684?s=244460915_1512117636_5ade2bfdffc7932dd0598bfff9f7ea58&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=Formula1%2B2017%2BAbudhabi%2BQUalifying169.mp4', 
         'md5': '019552bae7ca1c71e5964c54dbdf8949', 
         'quality': 'hd', 
         'size': 5891693868, 
         'type': 'video/mp4', 
         'width': 1920}, 
        {'created_time': '2017-11-25T18:13:28+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 25, 
         'height': 360, 
         'link': 'https://player.vimeo.com/play/880414679?s=244460915_1512117636_4d1dc529cad10c2753b967987b3c6b06&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=Formula1%2B2017%2BAbudhabi%2BQUalifying164.mp4', 
         'md5': '3daca0303792d0b7506b3247e7b6ee99', 
         'quality': 'sd', 
         'size': 719988849, 
         'type': 'video/mp4', 
         'width': 640}, 
        {'created_time': '2017-11-25T18:13:28+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 25, 
         'height': 1080, 
         'link': 'https://player.vimeo.com/play/880414677?s=244460915_1512117636_49c3975dd10c202fddd9e4e3418a150d&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=Formula1%2B2017%2BAbudhabi%2BQUalifying175.mp4', 
         'md5': 'f1f38a8aa8612d9fa1331410a3a153f1', 
         'quality': 'hd', 
         'size': 5883105557, 
         'type': 'video/mp4', 
         'width': 1920}, 
        {'created_time': '2017-11-25T18:11:34+00:00', 
         'expires': '2017-11-30T23:40:36+00:00', 
         'fps': 50, 
         'height': 1080, 
         'link': 'https://player.vimeo.com/play/880414164?s=244460915_1512117636_4a9ae40250b8d5f1ab803973cb4617cc&loc=external&context=Vimeo%5CController%5CApi%5CResources%5CUser%5CVideosController.&download=1&filename=Formula1%2B2017%2BAbudhabi%2BQUalifyingsource.', 
         'md5': '21425a206698038bc9e8114698a187e9', 
         'quality': 'source', 
         'size': 7026953324, 
         'type': 'source', 
         'width': 1920}], 
     'tags': [{'canonical': 'foo', 
        'metadata': {'connections': {'videos': {'options': ['GET'], 
                  'total': 109, 
                  'uri': '/tags/foo/videos'}}}, 
        'name': 'Foo', 
        'resource_key': '3b4ab793385a07c695ef0081210c8fd586e2d890', 
        'tag': 'Foo', 
        'uri': '/tags/foo'}, 
       {'canonical': '2017', 
        'metadata': {'connections': {'videos': {'options': ['GET'], 
                  'total': 158765, 
                  'uri': '/tags/2017/videos'}}}, 
        'name': '2017', 
        'resource_key': 'a5c9f20cc79135f49b431c20b779e7b93bd26415', 
        'tag': '2017', 
        'uri': '/tags/2017'}]}] 
},"second_dict"] 

: 내가 태그 Foo를 포함하는 모든 비디오를 찾으려는 다음 'type': 'source'에서 다운로드 링크를 얻을이 난에 대해 사전의 단순 목록을 이야기하고있다. 그래서 ["data"]["download"]["link"]으로 끝내고 싶습니다. 여기에서 'type':'source'입니다.

그때 태그를 확인하고 코드의 비트를 작성하려고

는 '푸'태그가 포함에만 동영상 목록을 만듭니다 :

videosFiltered = [] 
for entry in videos: 
    for subentry in entry["data"]: 
     if subentry["tags"] and subentry["tags"][0]["name"] == "Foo": 
      videosFiltered.append() 

을하지만 난 이후, 비참하게 실패하고 있습니다 볼 수 있습니다 나는 for 루프와 if 루프의 무서운 둥지를 썼다. 나는 내가 원하는 것을 결국 얻을 것이라고 확신하지만이 문제에 대한보다 우아한 해결책을 찾도록 도와 줄 수 있기를 바랬다.

답변

1

/tags/:word/videos은 찾고있는 리소스입니다. /tags/foo/videos을 명중하면 "foo"태그가있는 비디오의 페이지가 매겨진 목록이 반환됩니다.

https://developer.vimeo.com/api/endpoints/tags#GET/tags/ {word}/videos

+0

이것은 공용 비디오를 반환합니까? 태그가 포함 된 내 동영상을 찾으려고 했으므로 다음과 같이 시도했습니다. 'videosTotal = v.get ('https://api.vimeo.com/me/tags/:word/videos') .json() ', 여기서'v'는 인증 부분입니다. 하지만 작동하지 않습니다. API 요청 수준에서이를 해결하면 가장 좋은 해결책이 될 것입니다. –

+0

아, 네가 맞아, 내 잘못이야,/tags/: 단어/비디오는 공개 비디오를위한 것이지 너의 것은 아니다. 지금 당장 엔드 포인트가 없으므로 솔루션이 이상적이지는 않지만 필수적입니다. 죄송합니다. ( –

+0

조금만 도와 주시겠습니까? 올바른 데이터를 가져오고 싶지만 중첩 루프가 엉망이되고 싶지 않습니다. 목록에서 사전을 색인하는 더 좋은 방법 만 알고 있다면 구조체는 이미 커다란 도움이 될 것입니다. –