前提・実現したいこと
youtubeのapiを使ってどうぶつの森にマッチする動画を収集しようとしております。
youtube data APIのサンプルコードを参考に書いています。
ですが、以下のようなエラーが発生しました。
発生している問題・エラーメッセージ
AttributeError: 'str' object has no attribute 'q'
該当のソースコード
from apiclient.discovery import build from apiclient.errors import HttpError from oauth2client.tools import argparser DEVELOPER_KEY = "取得したAPIキーを入れています" YOUTUBE_API_SERVICE_NAME ="youtube" YOUTUBE_API_VERSION ="v3" def youtube_search(options): youtube = build(YOUTUBE_API_SERVICE_NAME,YOUTUBE_API_VERSION, developerKey=DEVELOPER_KEY) search_response = youtube.search().list( q = options.q, part = "id,snippet", maxResults = options.maxresults ).execute() youtube_search('どうぶつの森')
試したこと
AttributeError: 'str' object has no attribute 〜〜〜〜
のように続く他の方のエラーを参考に考えてみたのですが、
なぜエラーが発生しているのかが全くわかりません。
q = options.q,
の部分などqが二回出てくるコードの意味が理解できなかったため、
(サンプルなので合っているはずなんですが)
消して以下のようなコードで実行してみました。
q = options
ですが、今度は別のエラーが発生しました。
ValueError: invalid literal for int() with base 10: 'どうぶつの森'
調べて、INTの引数に10進数で変換不能な値が入っている?と自分なりに解釈しました。
ですが、INTは今回のコードには使用していないためエラーの意味が理解できません。
以前にBeautifulSoupを使って他のサイトをスクレイピングをしていた際のことが
ふと頭に浮かんだのですが、
optionに存在するデータからさらに検索?する時点でoptionのなかにデータが存在しないため検索できず、
エラーをはくといったことと同じニュアンスなのでしょうか?
補足情報(FW/ツールのバージョンなど)
ご教授いただきたい点としましては、
1、q = options.q,のコードでqが二回出てくる意味について
2、今回のエラーを解決する糸口について
です。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/13 02:28