ETC
유투브 자동 광고건너뛰기
mihee
2022. 10. 31. 03:13
개발언어 : python
개발 툴 : pycharm
os : ubuntu
사용 모듈 : schedule, time, selenium, webdriver
갑자기 유튜브로 노래 듣다가 광고가 거슬려 만들어본 유튜브 자동 광고 건너뛰기 프로그램
1) schedule 모듈을 사용해 input으로 url을 받아와 5초마다 광고 제거 함수를 동작
2) 넘겨받은 url을 셀레니움 모듈을 사용해 접속, 광고제거 버튼이 있는 경우 해당 텍스트가 광고 건너뛰기인지 조건을 체크해 클릭하는 간단한 프로그램을 제작
사용코드
# -*- coding: utf-8 -*-
import schedule
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
chrome_options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
def remove_add():
print(driver.current_url)
## 광고 스킵 XPATH
ads_elements = driver.find_elements(By.XPATH,'/html/body/ytd-app/div[1]/ytd-page-manager/ytd-watch-flexy/div[5]/div[1]/div/div[1]/div[2]/div/div/ytd-player/div/div/div[4]/div/div[3]/div/div[2]/span/button/div')
print(len(ads_elements))
if len(ads_elements) > 0: ## 광고 스킵 버튼이 있으면 len(ads_elements) => 1
btn_ads = ads_elements[0].text
if btn_ads == '광고 건너뛰기': ## 버튼이 광고 건너뛰기 텍스트라면 클릭해서 광고 제거
ads_elements[0].click()
return True
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
input_url = input('input youtube url : ')
driver.get(input_url)
schedule.every(5).seconds.do(remove_add)
while True:
schedule.run_pending()
time.sleep(1)
실행영상
십분정도만 투자하면 쉽게 완성!!