2017-08-25 16 views
2

問題は、動画リストの各項目のタイトルを取得して印刷することですが、印刷機能は機能しておらず、機能不能の変数が表示されません。youtubeのプレイリストからタイトルを取得する

from __future__ import unicode_literals 
import requests 
import json 

url = "https://www.youtube.com/chanel/UC1ctnuRGUUXe04EgbsYXwPQ" 
PLAYLIST_ID = 'PLg5SS_4L6LYueOJFm-IdWSuLiYwcASkH-' 
APIKEY = '***********' 


def get_items(): 

     YOUTUBE_URI = 'https://www.googleapis.com/youtube/v3/playlistItems' 
     FORMAT = {'key': APIKEY, 'part': 'snippet', 'playlistId': PLAYLIST_ID, 'maxResults': 50} 
     FORMAT_YOUTUBE_URI = (YOUTUBE_URI, FORMAT) 
     content = requests.get(FORMAT_YOUTUBE_URI).json() 

     video_list = [] 
     keys = 'id', 'title', 'description' 

     for item in content('items'): 
      id = item.get('id').get('videoId') 
      title = item.get('snippet').get('title') 
      description = item.get('snippet').get('description') 
      values = id, title, description 

      if id: 
       video_item = dict(zip(keys, values)) 
       video_list.append(video_item) 
       print('\n'.join(video_list)) 
       return video_list 
+0

APIキーを公開しないでください。私はキーが打ち切られた編集を提案した。安全な状態にしたい場合は、Google Cloud ConsoleでAPIキーを再作成してください。 – paolo

+1

ありがとうございます)))))しかし、それはオープンAPIキーであり、プロジェクトはトレーニング用です)))とにかく、私は次のプロジェクトでそれに注意を払います –

答えて

1

content変数を使用していないと私は見ることができることであるから、データがどこにあるんもう少し編集したテキスト。さらにvide_listが使用されていますが、空のリストで初期化された便利なデータでは決して書き込まれません。[]

このようなものを簡単に見つけるのに役立つようなエディタを使用することを強くお勧めします。あなたのEDIT後

content = requests.get(FORMAT_YOUTUBE_URI).json() 

が問題なことではなく、来ロジックですので、あなたは、YouTubeのAPIリクエストの権利を行い、その結果をどのように処理するかを見ることができるように集中すべきです。

関連する問題