【自動録画】伊藤塾のストリーミングを自動で連続再生する【Selenium】


はじめに

伊藤塾のストリーミングを外で見たい時にギガを消費するのが嫌なので自分用にバーっと一気に書きました。
寝てる時に録画してます。
1.ストリーミングの動画サイズを小にして下さい
2.Bandicam等の録画ソフトを使って同じ位置で録画し続けて下さい。
(次の動画はjsで初期位置が同じ、サイズが小で再生されます。録画ソフトを固定してひたすら動かしておけばよいです)
3.コース購入者が自分のために使用して下さい。ストリーミングの視聴権は購入した個人のみです。(当たり前ですが……)
4.Seleniumの詳しい説明はググって下さい ChromeでF12が使えれば大体使えます。

OS:Windows10
GoogleChrome バージョン: 85.0.4183.121(Official Build) (64 ビット)
Python:3.70
Selenium Webdriver:この記事を書いた時点で最新のもの
chromedriver.exe:この記事を書いた時点で最新のもの

※スクリプトと同じフォルダに'chromedriver.exe'を置いてください。

ringfit.py

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import time

opt = webdriver.ChromeOptions()
#opt.add_argument('--blink-settings=imagesEnabled=false')
browser = webdriver.Chrome(options=opt)

browser.get('https://www.itojuku.co.jp/index.html')

elem_mypage = browser.find_element_by_xpath('//*[@id="bk814"]/div/div/div[2]/div/span/a').click()
time.sleep(3)

elem_email = browser.find_element_by_name('login_email')
elem_email.send_keys('your_email')
elem_password = browser.find_element_by_name('login_pass')
elem_password.send_keys('your_password')
elem_login_btn = browser.find_element_by_id('log').click()

time.sleep(5)

elem_kouza_btn = browser.find_element_by_id('gnavi__jukou').click()
elem_juko_btn = browser.find_element_by_xpath('//*[@id="gnavi__jukou"]/div/div/div[1]/a').click()

WebDriverWait(browser, 3).until(lambda d: len(d.window_handles) > 1)
browser.switch_to.window(browser.window_handles[1])

# 変更部分その1
# ここの文字を録画したいコースに変更して下さい。
# どのみちそこまで長い録画は無理なので、これは手動変更です。
elem_kiso_minpo = browser.find_element_by_link_text('20 基礎力完成マスター 民法 【平林】').click()
#find_element(:partial_link_text, "ログイン").click

time.sleep(1)
# 変更部分その2
# ここのimgのname名を録画したいコースに合わせて下さい。
elem_detail = browser.find_element_by_name('Image00049510').click()
time.sleep(1)
# 変更部分その3
# imgのname名が基本的に連番になっているので、3600秒(1時間)ごとに+1してループさせる形にしています。
for num in range(59, 81):
    image_num = 'Image000000' + str(num)
    time.sleep(1)
    elem_minpo_kiso_kougi_btn =  browser.find_element_by_name(image_num).click()
    time.sleep(1)
    elem_minpo_kiso_kougi_btn =  browser.find_element_by_xpath('/html/body/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td[3]/p/a/img').click()
# 1時間録画
    time.sleep(3600)
    elem_modoru = browser.find_element_by_link_text('≪カテゴリ選択へ').click()