#pythonを使ってNetflixに自動でログインしてみる
初めに
今回の投稿が初めてなので不足しているところが多々見受けられると思いますが、温かい目で見守って下さい。
更に、自分は初心者なので探り探りで作成したコードで分かりずらい部分も出て来ると思いますが、ご了承のほどお願い致します。
#概要
・seleniumを使ってwebを操作する
本題へ
pythonでwebページを操作できると言ったらseleniumである。この記事ではpythonでseleniumを介してChromeを操作するための環境構築と基本的な使い方については省略させて頂く。
#実際にコードを書いてみる
seleniumからwebdriverをimportする
とりあえず、必要なモジュールをimportしておきましょう
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.common.action_chains import ActionChains
import time
Webを動かす時に、次のページに行く前に要素指定しないように、休ませるためのtimeモジュールもimportしておきます。
driver = webdriver.Chrome("chromedriverを保存した場所を指定する")
#(例)driver = webdriver.Chrome("C:\Command\chromedriver")
driver.get('https://www.netflix.com/jp/')
time.sleep(1)
これで、ひとまずNetflixのページにはアクセスできるようになります。
もちろん、応用としてhttps://www.netflix.com/jp/ の部分を変えれば他のwebページにアクセス出来ます。
Pathを指定して文字を入力する
次に、文字を入力するさせるコードを書きます。
login = driver.find_element_by_css_selector('#appMountPoint > div > div > div > div > div > div.our-story-header-wrapper > div > a')
login.click()
#ログイン画面に移動
driver.find_element_by_name('userLoginId').send_keys('メールアドレス')
driver.find_element_by_name('password').send_keys('パスワード')
#メールアドレスとパスワードを入力
driver.find_element_by_css_selector('#appMountPoint > div > div.login-body > div > div > div.hybrid-login-form-main > form > button').click()
time.sleep(1)
ここまで来たらNetflixにログイン完了です。
しかし、ここからはNetflixの契約プランによって指定するPathが異なるので、私の場合でコードを書いていきます。実際のところ、ここまでコードがかければ、後はPathを指定してクリック、Pathを指定して入力で自動再生までもって行けます。
ログイン完了後の再生まで
ここから自分を選択して自動再生までPathの指定、クリック、入力でを繰り返していきます。
driver.find_element_by_xpath('//*[@id="appMountPoint"]/div/div/div[1]/div[1]/div[2]/div/div/ul/li[1]/div/a/div/div').click()
time.sleep(1)
#自分を選択
driver.find_element_by_xpath('//*[@id="appMountPoint"]/div/div/div[1]/div[1]/div[1]/div/div/div/div[1]/div/button/span').click()
#検索欄をクリック
title = “ケンガンアシュラ”
driver.find_element_by_xpath('//*[@id="appMountPoint"]/div/div/div[1]/div[1]/div[1]/div/div/div/div[1]/div/div/input').send_keys(title)
time.sleep(1)
#検索欄に入力
driver.find_element_by_css_selector("#title-card-0-0 > div.ptrack-content").click()
time.sleep(2)
driver.find_element_by_css_selector("#pane-Overview > div > div > div > div.ptrack-content > div > div.jawbone-actions > a.playLink.isToolkit > button").click()
#再生をクリック
以上で、Netflixの自動再生のコード完成です!!
#終わりに
初心者なのでまだまだ、コードの簡略化が出来ると思いますが、初めで完成させたコードなので、ご理解の程宜しくお願い致します。
次回は、GUIをpythonで作成し、テキストボックス取得からボタンクリックで自動再生を行っていきたいと思います。
お付き合いいただきありがとうございました。