PythonとSeleniumを使って、Twitterに自動でログインしてみよう!

はじめに

この記事を読み進める前に、先にこちらを読み終えてから再度この記事を読んでみてください。

SeleniumとChromeDriver

SeleniumはWebブラウザで行うクリック操作やキーボード入力をプログラム上からできるようにしたもので、
ChromeDriverはChromeブラウザをプログラムで動かす為のドライバーです。
この2つを使うことで、SeleniumでChromeブラウザを操作してログインすることが可能です。
またこの2つを組み合わせて使うことで、

  • ブラウザ画面のスクリーンショット
  • 非同期サイトのスクレイピング
  • 同期サイトのスクレイピング

などが可能になります。

Chrome Driverのインストールは下記リンクから飛べます。
Chrome Driver インストールリンク
その後、『Latest Release: ChromeDriver 2.42』と書かれた部分をクリックし、zipファイルをインストール&解凍してください。
※テキストに書かれたバージョンと異なる場合がございます。
常に、Chrome Driverは常に最新のものをご利用ください。
バージョンが以前のものを使うと動作しない可能性があります。

Twitterにseleniumでログインする

今回はtwitterを対象とします。
事前にアカウント登録が必要なので、まだ登録が終わっていない方は、登録お願い致します。
では早速、Twitterに自動でログインしてしてみましょう。
ログインする機能として、実際にプログラムを組む前に私たち人間はどのようにログインするか考えてみましょう。

  1. Webサイトのログインページにアクセスする
  2. 入力フォームにIDとパスワードを入力する
  3. エンターを押して(ログインボタンを押して)ログインをする

この手順をseleniumにもわかるように書いていきましょう。

これだけでTwitterにログインできてしまいます。

それではプログラムの詳しい説明をしていきましょう。

これはSeleniumのインポートをしています。
2行目のkey~はブラウザ上でエンターキーを押せるようにするためのライブラリです。

こちらで指定したURLにアクセスしています。

driver.find_element_by_idというのは、html要素上で指定したidを探します。
ここではuser_email(メールアドレス入力フォーム)とpassword(パスワード入力フォーム)を探し、user_emailとpasswordに設定します。

探し出したuser_emailとpasswordに文字を入れるのがsend_keysです。
password.send_keys(keys.ENTER)
ログインするとき、大抵の人はパスワードを入力したらエンターを押してログインすると思います。
それをこの行では行っています。

まとめ

この章では、Seleniumを使って会員サイトに自動でログインする方法を学びました。
Seleniumを使うとスクレイピングをしたり、自動でボタンを押したりすることも可能ですので、是非色々と挑戦して見てください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です