📼
Python+SeleniumでYoutube の広告をどうスキップさせるか
参考: 動画広告(15 秒動画広告、30 秒動画広告、スキッパブル動画広告)
動画を開いた時、
- 数秒の広告動画(スキップできない)が流れる
- 数秒後に「広告をスキップ」できる広告動画が流れる
- 広告が流れない
パターンがあるYoutube動画があるとしまして、本編の動画に極力ストレスなくPython+Seleniumで画面遷移させたい場合どうするのがよろしいのか。
GitHubより
まずGitHubのadskipper.
This is a program written in python programming language. It automatically clicks on the 'skip ad' button on the youtube ads. It uses opencv library's Template Matching functionality to do that.
あるいは、
def check_ad(self):
try:
self.driver.find_element_by_class_name("videoAdUiPreSkipButton").click()
self.has_ad = True
return self.driver.find_element_by_class_name("videoAdUiPreSkipText").text
except:
return None
def skip_ad(self):
try:
self.has_ad = False
self.total_skip_ad += 1
print("已跳過{}個廣告".format(self.total_skip_ad))
self.driver.find_element_by_class_name("videoAdUiSkipButton").click()
sleep(1)
#return self.driver.find_element_by_class_name("videoAdUiSkipButtonExperimentalText").text
except:
return None
Stackoverflowより
どうやってスキップボタンを押すか。
[How to click the 'skip ads' button in youtube using selenium in python 3](https://stackoverflow.com/questions/62745175/how-to-click-the-skip-ads-button-in-youtube-using-
selenium-in-python-3)
要素が見つからない時、どう処理するか。
Continue the script if an element is not found using selenium in Python
シンプルにPython例外処理の基礎
で、有限回数リトライが格好悪いけど現状の妥協点。
良いのを見つけたら追記するかもしれない。
Discussion