英語字幕DB作成への道_Selenium編⑩ (selenium-wire)
DisneyPlusの動画を再生すると、ブラウザが裏側で .vtt という字幕ファイルをダウンロードします。
このファイルを手動でダウンロードするには、開発者ツールを開いて、Networkタブを開いて、
.vtt のURLをコピーして、wgetする必要があります。
なんとかこれを自動化したい。
ChromeOptionsやDesiredCapabilitiesで頑張ればなんとかできそうではあったのですが、
ChromeDriverのドキュメントがあまり親切ではなくて使い方がよくわかりませんでした。
そうしてネットの海をさまようことになったのですが、
そこで素晴らしいライブラリを見つけました。
それはselenium-wire
pypi.org
こんな感じで、Chromeがバックグラウンドで通信しているデータを取得できます。
from seleniumwire import webdriver # Import from seleniumwire # Create a new instance of the Chrome driver driver = webdriver.Chrome() # Go to the Google home page driver.get('https://www.google.com') # Access requests via the `requests` attribute for request in driver.requests: if request.response: print( request.url, request.response.status_code, request.response.headers['Content-Type'] )
※今回はこのrequest.urlが欲しかった
なんと素晴らしいライブラリでしょう。
無事に .vtt のURLを取得することができました。