- 1. 概要
- 2. method
1. 概要
「HTTP Error 400: Bad Request」という、例外が、「YouTube」で漏れなく発生しましてな。
それに対する、対処方法をメモしていきます。
これ、先にオチを言ってしまえば、「method」なのでありました。
2. method
まぁ、こんな感じでしたわ。
import ssl
from socket import timeout
from urllib import request
from urllib.error import URLError, HTTPError
ssl._create_default_https_context = ssl._create_unverified_context
try:
url = 'https://www.youtube.com/watch?v=w_BUvZf6YTU'
headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36' }
queue = request.Request(url, headers=headers, method='POST')
html = request.urlopen(queue, timeout=8)
except (URLError, timeout) as ex:
print(" ", url, " NG[", ex, "]")
except (HTTPError, ConnectionResetError) as ex:
print(" ", url, " NG[", ex, "]")
これを実行すると
NG[ HTTP Error 400: Bad Request ]
となっちゃいます。
これ、13行目の「POST」を「GET」へ書きかえることで、うまいこととれるようになりました。
|
|