こんにちは。TATです。
今日のテーマは「PythonでSeleniumを利用する方法!セットアップの流れを徹底解説します!」です。
PythonでSeleniumを使ってみたいけど、始め方がわからない。
使うまでの流れが知りたいです。。。
上記に答えていきます。
Seleniumを使えば、ブラウザ上のあらゆる操作をプログラムを介して実行できるようになります。
ページ遷移はもちろん、文字の入力やドロップダウンメニューの選択、ボタンのクリックなど、さまざまなことができます。
基本、我々がウェブ上で行う作業は全てSeleniumでもできると思っていただいて問題ありません。
本記事では、Pythonを使ってSeleniumを使うまでの流れについて解説していきます。
これからSeleniumを使ってみたいという方は、ぜひ最後まで読んでみてください。
PythonでSeleniumを使うまでの流れ
まずは全体の流れについて確認しておきましょう。
PythonでSeleniumを使うまでに必要な流れは以下のとおりです。
ここではブラウザーとしてChromeを利用することを想定しています。
PythonでSeleniumを使うまでの流れ
- Pythonをインストールする(AnacondaでもOK)
- pipでSeleniumをインストール
- ChromeDriverをダウンロード(Versionに注意!)
- ChromeDriverを任意の場所に保存する
- PythonでSeleniumを立ち上げる
順番に詳しくみていきましょう。
Pythonをインストールする(AnacondaでもOK)
まずはPythonをインストールします。
公式サイトからダウンロードしてもいいですし、Macを使ってる方はHomebrewを使ってもOKです。
Pythonでデータ分析やAI開発などをしたい方はAnacondaをダウンロードするのも良いです。
必要な外部ライブラリが一緒にセットアップできるので効率的です。
pipでSeleniumをインストール
次に必要な作業はSeleniumのインストールです。
Seleniumは外部ライブラリなので、追加でインストールする必要があります。
また、AnacondaにもSeleniumは含まれていませんので、いずれの場合でもインストールが必要です。
pipコマンドで簡単にインストールができます。
pip install selenium
特定のバージョンをインストールしたい場合は次のコマンドのようにバージョンを指定して実行します。
pip install selenium==4.1.1
”Successfully Installed Selenium”みたいな内容が表示されたらOKです。
ChromeDriverをダウンロード(Versionに注意!)
次のChromeDriverをダウンロードします。
まずは利用してるChromeのバージョンをチェック
ここで注意点が1つあります。
それがChromeのバージョンです。
現在利用しているChromeのバージョンとChromeDriverのバージョンがずれていると不具合が起きます。
ここを回避するためにまずは利用中のChromeのバージョンを確認します。
Chromeを立ち上げて、右上の点々から「ヘルプ」→「Google Chromeについて」をクリックします。
遷移先のページに行くとChromeのバージョンを確認することができます。
僕の場合だと、バージョン113です。
このバージョンの数字を覚えておけば、ひとまずここはOKです。
ChromeDriverをダウンロードする
次にChromeDriverをダウンロードします。
こちらのページからダウンロードすることができます。
ここで先ほど確認したバージョンに一致するものを探してダウンロードしてください。
基本的には最初の数字だけあってれば大丈夫と思います。
僕の場合だと113です。
クリックすると次のような画面に遷移します。
ご自身のPCに合わせたものをクリックすればダウンロードが開始されます。
これでダウンロードはOKです。
ChromeDriverを任意の場所に保存する
次にダウンロードしたChromeDriverを任意の場所に保存しましょう。
Zipファイルを解凍して、実行ファイルのみ保存すればOKです。
MacならUnix実行ファイル、Windowsだとexeファイルになってるはずです。
Seleniumを立ち上げる際に、ChromeDriverの場所は指定できるのでお好きな場所に保存してください。
PythonでSeleniumを立ち上げる
ここまできたら準備完了なので、PythonでSeleniumを立ち上げてみます。
ここではJupyter Lab (Jupyter NotebookでもOK) を使った立ち上げの流れをご紹介します。
Jupyter Labをインストール
AnacondaをインストールしていればJupyter Labも自動でインストールされていますので、こちらの作業は不要です。
Pythonだけをインストールした場合は、以下のコマンドでインストールしてください。(公式サイト)
# Jupyter Labをインストール pip install jupyterlab # Jupyter Notebookをインストール pip install notebook
SeleniumでChromeDriverを立ち上げる
最後にSeleniumでChromeDriverを立ち上げます。
from selenium import webdriver # ChromeDriverを立ち上げる driver = webdriver.Chrome(executable_path="ChromeDriverのPathを指定")
seleniumのwebdrvierをimportして、 webdriver.Chromeで立ち上げます。
この際、executable_pathで先ほど保存したChromeDriverのPathを指定すればOKです。
絶対Pathでも相対Pathでも指定が可能なので、お好きな方で設定してください。
Jupyter Labのフォルダーと同じ場所の保存してる場合はこんな感じでも指定できます。
# ChromeDriverを立ち上げる driver = webdriver.Chrome(executable_path="./chromedriver")
プログラムを実行して少しするとChromeが立ち上がります。
初回の起動には少し時間がかかるかもしれません。
こんな感じで真っ白な画面が表示されて、上部に「Chromeは自動テスト ソフトウェアによって制御されています」と表記されてたらSeleniumでChromeを立ち上げることに成功しています。
これで全てのプロセスが完了しました。
あとは任意のURLに遷移したり、ボタンをクリックしたり、テキストを入力したり色々なことがPythonを介して操作することができます。
ぜひとも色々と試してみてください。
Seleniumを活用した記事をご紹介
最後におまけとして、本ブログでこれまで書いてきたSeleniumを利用した記事をご紹介しておきます。
国会の議事録を収集して分析
まずはSeleniumで国会の議事録を収集して分析した記事をご紹介します。
収集したデータを使ってワードクラウドを作ってみたり、岸田首相の「検討」の発言回数を集計したりしてみましたw
URLの遷移、検索条件のテキスト入力やドロップダウンメニューの選択、次ページへの遷移など、いろいろな操作をSeleniumで実行しています。
Seleniumを使ってデータを収集
【Pythonコード解説】Seleniumで国会会議録検索システムをスクレイピングしてみる
続きを見る
首相の国会発言をワードクラウドで分析
【Pythonでデータ分析】安倍首相の国会発言を集めてワードクラウドにしてみた!
続きを見る
【Pythonでデータ分析】岸田首相の就任後6ヶ月間の国会発言をワードクラウドにしてみる
続きを見る
岸田首相の「検討」の発言回数
国会の議事録データを収集して岸田首相の「検討」の発言回数を集計してみた【Python】
続きを見る
Pythonによるワードクラウドの作成方法
【コード解説】Pythonでワードクラウドを作成してみる【MeCabとwordcloudで簡単実装】
続きを見る
おはぎゃーのプロセスを自動化する
次におはぎゃープロジェクトですw
株クラではお馴染みのおはぎゃーのプロセスを自動化してみました。
おはぎゃーとは「おはよう」 + 「(株価が下がって「ぎゃー」)を組み合わせた造語で、朝起きてアメリカ株が暴落してたりすると、finvizの株価ヒートマップのスクショとともに「おはぎゃー」とツイートする人が続出します。
このプロセスをPythonで自動化してみました。Seleniumを使うとスクショの取得と保存までできます。
ここではページ遷移とスクリーンショットの取得と保存をSeleniumで実行しています。
まとめ記事
【Pythonでデータ分析】株クラで目にする「おはぎゃー」のプロセスを自動化してみた!
続きを見る
Seleniumでfinvizからスクリーンショットを取得して保存する
【Pythonコード解説】Seleniumでfinvizのヒートマップのスクショを保存する
続きを見る
OpenCVを使って「おはぎゃー」を判定する
【Pythonコード解説】OpenCVを使ってfinvizのヒートマップ画像を解析する
続きを見る
Seleniumを使ってInstagramで自動いいね!を押す
Seleniumを使えば、Instagramで自動でいいね!を押すこともできます。
アカウントにログインして、任意のキーワードで検索、投稿を選択していいね!を押す、みたいな流れを自動化することができます。
やりすぎるとBot判定されるので要注意ですw
Instagramへのログイン、テキスト入力して検索、結果からいいね!をクリックするまでの動作をSeleniumで実行しています。
【Pythonコード解説】SeleniumでInstagramの自動いいね!をしてみる
続きを見る
SBI証券で自動売買システムを構築する
Seleniumを使えば自動売買システムを構築することも可能です。
本ブログではSBI証券を使って、PythonとSeleniumで自動売買システムを構築するために役立つ記事を紹介しています。
SBI証券へのログイン、テキスト入力やドロップダウンメニューの選択、ボタンのクリックなどあらゆる操作をSeleniumで実装しています。
【Python】SeleniumでSBI証券に自動ログインする方法【自動売買への道】
続きを見る
【Python】SeleniumでSBI証券から日本株を売買する方法【自動売買への道】
続きを見る
まとめ
本記事では、「PythonでSeleniumを利用する方法!セットアップの流れを徹底解説します!」というテーマで、PythonでSelenumを利用するまでに必要な流れを解説しました。
Seleniumを使えば、普段我々がブラウザ上で行なっているあらゆる操作をプログラムで実行することができます。
データの収集やWebサイトの動作テストなど、色々な場面で活用することができます。
マニュアル作業をSeleniumを使って自動化することができれば人生が大きく変わります。
単調な作業はプログラムにやらせておいて、自分は他の作業をすることだってできますし、早めに仕事を終えて帰ることだってできますw
この記事を読んで無事にSeleniumを利用できる環境が構築できていると嬉しいです。
そして皆さんの人生が少しでも効率化されるともっと嬉しいです。
最後まで読んでくださり、ありがとうございました。