0
ここに何か質問するのは初めてです。私はYoutube APIにアクセスして、自分が行っている実験のために何かを得ることを試みてきました。今のところすべてが動作しています。私はちょうど私が得ているこの非常に矛盾したエラーについて尋ねたかった。Pythonを使用したYoutube APIを使用したKeyError
-----------
1
Title: All Movie Trailers of New York Comic-Con (2016) Power Rangers, John Wick 2...
Uploaded by: KinoCheck International
Uploaded on: 2016-10-12T14:43:42.000Z
Video ID: pWOH-OZQUj0
2
Title: Movieclips Trailers
Uploaded by: Movieclips Trailers
Uploaded on: 2011-04-01T18:43:14.000Z
Video ID: Traceback (most recent call last):
File "scrapeyoutube.py", line 24, in <module>
print "Video ID:\t", search_result['id']['videoId']
KeyError: 'videoId'
ビデオID(ドキュメントごとに 'videoID')を取得しようとしました。しかし、何らかの理由で、コードは第1のクエリで動作し、その後第2のクエリでは完全にフロップします。それはこの特定の要素のためだけに起こっているので変です。他のすべて( 'description'、 'publishedAt'など)が動作しています。ここに私のコードです:
from apiclient.discovery import build
import json
import pprint
import sys
APINAME = 'youtube'
APIVERSION = 'v3'
APIKEY = 'secret teehee'
service = build(APINAME, APIVERSION, developerKey = APIKEY)
#volumes source ('public'), search query ('androide')
searchrequest = service.search().list(q ='movie trailers', part ='id, snippet', maxResults = 25).execute()
searchcount = 0
print "-----------"
for search_result in searchrequest.get("items", []):
searchcount +=1
print searchcount
print "Title:\t", search_result['snippet']['title']
# print "Description:\t", search_result['snippet']['description']
print "Uploaded by:\t", search_result['snippet']['channelTitle']
print "Uploaded on:\t", search_result['snippet']['publishedAt']
print "Video ID:\t", search_result['id']['videoId']
あなたは私を助けることを願っています。ありがとう!
あなたの説明は 'videoID'と記述されていますが、コードは' videoId'を使用しています。 (それは最初のビデオのために働く、それで多分ちょうどタイプミス?) –
Yup!あなたはそれを持っています。ありがとう!私は本当にあなたに答えてくれたことは決してありませんでした。 – Furankisan