【Python】SeleniumでGoogleログインしてアドセンスの前日売上を取得する

こんにちは、てつです。

ほぼ毎日アドセンスや各ASPにログインして、前日の売上を確認しているのですが手作業でポチポチやるのもな〜と思い、Pythonでコード書いてみました。

ネット上にある情報の中にはGoogle側のログイン画面のソースコードが変わっているものもあり、うまく動作しないのもあったので備忘録を兼ねてメモ。

Seleniumでブラウザ起動→Googleログイン

f:id:mutant-tetsu:20190626105915j:plain

ちなみにプログラミングは独学なので細かい部分はご容赦を・・・

Seleniumを勉強がてら使ってみたかったので、ちょうど良かった😇

というわけで、さっそくコードを。

from selenium import webdriver
from time import sleep

# Chrome起動→URLへアクセス
browse = webdriver.Chrome()
browse.get('Googleのログイン画面URLを記載')

# ユーザー名入力
username = browse.find_element_by_name('identifier')
username.send_keys('メールアドレスを記載')

# 次へボタンを押す
button_username = browse.find_element_by_id('identifierNext')
button_username.click()

# パスワード入力
sleep(4)
password = browse.find_element_by_name('password')
password.send_keys('パスワードを記載')

# 次へボタンを入力
button_password = browse.find_element_by_id('passwordNext')
button_password.click()

流れとしては、

Seleniumでブラウザ起動→Googleログイン画面へ遷移→各要素を取得し、値を入力→次へボタンをクリック

このような流れです。次の画面へ遷移した時に時間を空けないと要素をうまく取得できないので、sleepを挟んでいます。

ちなみにアドセンスの前日売上の箇所は以下のコードで取得。

# 前日の売上を取得
sleep(20)
yesterday_earnings = browse.find_elements_by_class_name('as-earnings-card-panel-value')[1]
adsense_value = yesterday_earnings.text.strip('¥')

f:id:mutant-tetsu:20190626105521j:plain

¥を削除してますが、文字列型なので数値型に変換して使ったりしています。

おわりに

アドセンス以外にもA8などのASPにログインして値を取得という作業も自動化しましたけど、作業量減ったので良い感じです。

他にも置き換えたい作業があるので、色々試しながらコードを書いていこうと思います。それでは今日はこの辺で。