私はYoutube APIを使用して検索結果を開きます。私の希望は、検索結果を開き、JSONに結果を追加し、これらの結果からリストを作成することです。私はURLをテストし、私のAPIキーで動作します。しかし、私は得る:Python - urllib.error.HTTPError:HTTPエラー400:不正リクエスト(Youtube API)。
> urllib.error.HTTPError: HTTP Error 400: Bad Request error.
。誰も私がこのURLをどのように正常に開くことができるか知っていますか?私はPython 3.5を使用していますが、私も2.7で提案します。 python2.7で私はurllib2.quote(url)
を使ってみましたが、うまくいきませんでした。私は同じエラーがあります。
search = input('Search for a Video:')
入力:猫動画
urllib.parse.parse_qsl(search)
url = 'https://www.googleapis.com/youtube/v3/search?part=snippet+&maxResults=5&order=rating&q='+search+'&key='+API_KEY
with urllib.request.urlopen(url) as response:
html = response.read()
。例外エラー:このたわごとは私がまだそれほどコメントせていない
Search for a Video:cat videos
Traceback (most recent call last):
File "Project.py", line 15, in <module>
with urllib.request.urlopen(url) as response:
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 162, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 471, in open
response = meth(req, response)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 581, in http_response
'http', request, response, code, msg, hdrs)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 509, in error
return self._call_chain(*args)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 443, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 589, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
コードを動作させるには、次のURLにURLを追加する必要があります: 'url = 'https://www.youtube.com/results?あなたがOAuthを実装していない場合(本当にうまくいかない場合)、** beautifulsoup **について考えてみると、APIを実際に使う必要はありません。または** lxml **代わりに(私は完全に私の最初の選択肢としてOAuthに行くだろう) –
あなたのコメントありがとう。私は単純な検索アプリを構築しています。私はGoogle Devページの1つで、基本的なAPIキーが動作すると信じています。 JSONページで結果を開く必要があるため、APIキーを使用しています。そのJSONページを使用してデータを解析し、検索結果を含むリストを作成します。私は 'webbrowser.open(url)'を使ってURLを開いてみたところ、うまくいきました。ちょうど私が問題を抱えているurllib。 – brazjul
私はあなたが何を意味するかを見ます。これはurllibエラーではなく、GoogleコンソールのAPI設定から、ドメインまたはソースの制限が定義されています。あなたのコードを試してみました。これはAPIの終了時の設定が正しいときに動作します。 ほとんどの忘れて、**あなたの検索値をURLにエンコードする必要があります: '' Cat Videos "!=" Cat%20Videos "' –