Python

Pythonの自動化で出来ることの例と独学実装ロードマップを徹底解説!【PyAutoGUI/Selenium】

Python 自動化
記事内に商品プロモーションを含む場合があります
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、Pythonで出来る自動化について徹底的に見ていきたいと思います!様々な業務を自動化して、ルーティン業務をなくしていくことであなたの仕事や生活は格段に楽になるはずです!一緒に勉強していきましょう!

普段、退屈なルーティン作業にうんざりしていないでしょうか・・・?

な、なんと、Pythonを使えば、そんな業務も一気に自動化できるかも、しれないんです!

もちろん市販のRPA(Robotic Process Automation)ツールを利用するという手もありますが、定型作業ならPythonでほぼ自動化出来てしまうんです。

ロボたん
ロボたん
うーん、でもお金がかかったり面倒だったりするんじゃないの・・・?
ウマたん
ウマたん
Python実装はもちろん無料だし、コーディングもそれほど複雑じゃないんだよ!

またPythonは機械学習・AI領域にも強いプログラミング言語なので、自動化の作業に機械学習的なスパイスを入れてあげることも可能です。

ちなみに株価予測なら、僕自身がUdemyで「【Python×株価分析】株価データを取得・加工・可視化して時系列分析!最終的にAIモデルで予測をしていこう!」」というコースを出しているのでぜひチェックしてみてください!Udemy_Stock

【時間】3.5時間
【レベル】初級

株価分析の基礎を理解したいのであればこれ!今なら購入時に「GT34R35G27DD」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください!

\30日以内なら返金無料/このコースを見てみる

Pythonでの自動化ってどんなことが出来る?

ロボたん
ロボたん
どんな自動化が出来るのか具体的に知りたいなー!
ウマたん
ウマたん
そうだね!実際にPythonでの自動化の具体例について見ていこう!

実際にPythonでどんな作業が自動化できるのか見ていきましょう!

ブラウザの自動操作

pc python

まずは、ブラウザの自動操作

日々気付かず繰り返しているルーティン作業的なブラウザ操作はありませんか??

Pythonを使えば、そんなブラウザ上の様々な操作を自動化することが可能です。

ブラウザの操作にはSeleniumというライブラリを用いるパターンとPyAutoGuiというライブラリを用いるパターンがあります。

Seleniumでブラウザを自動操作

Seleniumというライブラリを使うことで、簡単にブラウザの自動操作を行うことが可能です。

ウマたん
ウマたん
PyAutoGuiよりもSeleniumが使われることが多いかなー

例えば、特定のサイトで複数のボタンを押下して大量のデータを定期的にダウンロードしているというような業務はSeleniumを使って自動化できちゃいます。

具体的にWebサイトを構成するHTMLのタグ情報を指定して操作していくことになります。

HTMLについては以下の記事をあわせてチェックしてみてください。

html_css_study
【初心者向け勉強法】HTMLとCSSの学習ロードマップ こんにちは!スタビジ編集部です! 最近は個人でWebサイトを運営したり、Webページに力を入れている企業が多いです。 ...

後ほど実際に実装していきますよ!

PyAutoGuiでブラウザを自動操作

続いてPyAutoGuiというライブラリを使ってブラウザを自動操作することも可能です。

このPyAutoGuiはSeleniumよりも直感的に分かりやすくブラウザを操作できるライブラリであり、初心者にオススメです。

SeleniumではHTMLのタグ構造から要素を指定して操作していくのでしたが、PyAutoGuiでは座標指定をしてブラウザを操作していきます

ロボたん
ロボたん
なるほどー、ブラウザ操作ができちゃうのか!SeleniumとPyAutoGuiはどっちの方がいいのかな??
ウマたん
ウマたん
作業次第だけど、Seleniumの方が応用が利きやすいよ!

サイトの情報を抽出

Coding

ブラウザの操作を行ってきましたが、そこにあわせてサイト上にある様々な情報を抽出してくることも可能です。

※これをスクレイピングと呼びます。

情報の抽出に関してはもちろんseleniumを使って行うことが出来ますし、beautifulsoupというライブラリを使って行うことも出来ます。

色々なことが出来るのですが・・・例えば

Google Chromeのブラウザを立ち上げてニュースサイトに遷移し、昨日の記事を全て抽出してCSVとして吐き出す

みたいなことはSeleniumを使って可能です!

Seleniumを使えば、ブラウザを操作しながら必要な場所にアクセスしてその上で必要な情報を抽出してこれるのです!

CSVやExcelのデータをインポートして加工集計してアウトプット

python

どこまでを自動化と呼ぶのかは難しいところですが、

CSVやExcelのデータをローカルからインポートしてきて加工集計してその結果を新たなCSV・Excelファイルとしてはき出すこと

が可能です。

業務において、バラバラに管理されているファイルをそれぞれ開いて1つ1つコピー&ペーストして1つのファイルに結合し新たなファイルにしていることなどはないでしょうか?

ロボたん
ロボたん
え・・・結構そういうことしちゃってるかも・・・
ウマたん
ウマたん
そういう作業は比較的Pythonで自動化できる可能性が高いから見直してみるとよいよ!

もちろん作業の要件によっては完全自動化は難しいですが、比較的Pythonを使えば簡単に自動化することが出来ます。

CSVやExcelファイルの取り込みと加工集計にはPandasというデータフレームを用いますので、以下の記事を参考にしてみてください。

pandas
【入門者向け】PythonのPandasの使い方について簡単にまとめておく!当サイト【スタビジ】の本記事では、Pythonで頻繁に使われるPandasについて簡単にまとめておきたいと思います!データの読み込みや前処理や集計、可視化などによくつかわれるPandasについてしっかりおさえておきましょう!また最後にはPandasを含めたPythonの基礎文法の勉強方法についてまとめておきますよ!...

各種APIと連携して様々なデータの連携・アウトプット

Mobile Marketing

また、さらにPythonを使えば様々なサービスのAPIを利用して使うことも可能です。

APIとはアプリケーションプログラミングインターフェースの略であり、簡単に言うと

ソフトウェアを通して機能などをつなげることのできる仕組み

です。

普段使っているGoogleのサービスやTwitterやInstagramなどのAPIも無料で使うことができるんです!

PythonでのAPI利用に関しては以下の記事でも詳しくまとめていますので是非チェックしてみてください!

PythonのAPIを利用
【5分で分かる】Pythonを使って様々なサービスのAPIを利用してみよう!当サイト【スタビジ】の本記事では、Pythonを使ってSlackやGoogleのAPIを利用していきます!APIを利用することで非常に様々なことができるので是非試してみましょう!APIを使えるようになると幅が広がりますよ!...
ウマたん
ウマたん
APIを通して、様々なアプリのデータを取得・分析できるんだ!

Webアプリケーション化して自動化をパッケージ化

Site Stats

自動化のさらに一歩踏み込んだ領域として、その自動化作業自体をアプリケーション化してしまうという方法があります。

例えば、

特定のサイトから情報を抽出してきてデータ集計加工してGoogleスプレッドシートにAPI経由で出力したい

としましょう。

もちろん、それらのプログラムをPythonで組んで自分の環境で実行すれば問題ないのですが、例えばそのプログラムをアプリケーション化してあげて公開することで社内や組織の全てのユーザーが使えるような汎用的なものになりうるかもしれません。

また、それが社外含めてより一般的なものなのであればツールとして販売することもできるかもしれません。

ロボたん
ロボたん
普段使っているサービスみたいなものもPythonで作れちゃうんだね・・・
ウマたん
ウマたん
そうなんだ!Pythonであれば何でも出来ちゃう!

このように自動化作業の民主化のためにはWebアプリケーション作成が重要になってくるのです!

Webアプリ開発
【入門初心者向け】PythonでWebアプリを作ってみた!開発方法徹底解説!当サイト【スタビジ】の本記事では、PythonのWebアプリケーションフレームワークを用いてWebアプリを開発していく方法を徹底解説していきます。実際にDjangoでの実装とFlaskでの実装をおこなっていったあと、勉強法についても見ていきましょう!...

Pythonの自動化はどのように学んでいけばよい?

quiz

それでは、実際にPythonの自動化はどのように学んでいけばよいでしょうか?

Python自動化を学ぶためのロードマップを見ていきましょう!

Step1:Pythonを学ぶ

まずは、Pythonの基本を学んでください!

Pythonがある程度分かっている状態であれば問題ありませんが、Pythonを触ったことがない、ほとんど使ったことがないという状態であれば環境構築や基本的な構文の理解をしていく必要があります。

Pythonの環境構築は最初の壁としてつまづきやすいのですが、特に気にしないのであればGoogle Colaboratoryを使えば環境構築はしないで済むのでオススメです!

Google Colaboratory
Google Colaboratoryのメリットと使い方!GPU環境でPython回すならこれだ!当サイト【スタビジ】の本記事では、Googleが無償で提供する機械学習のプラットフォーム「Google Colaboratory」をメリット・デメリット・使い方について見ていきます!実際にPythonを実行していきGPUの威力を見ていきます。...

またPythonの基礎を勉強する上では当メディアが運営するスタビジアカデミー(スタアカ)がオススメです!

スタアカトップ

業界最安級でPythonだけではなくデータサイエンスやマーケティングも同時に学べるのでぜひPythonをどのように使えばよいか知りたい!という方はチェックしてみてください!

・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ

 

ご受講お待ちしております!

Step2:まずは簡単な自動化

一旦、Pythonの基礎について学んだら、まずは何かのレクチャーに沿って簡単な自動化をおこなってみましょう!

このあとに実際にコードを書いて自動化を試してみるので、それに倣ってやってみても問題ありません。

また、私自身がUdemyで公開している以下の講座で

ブラウザの自動操作から情報を抽出し加工集計してAPI経由でSlackに通知を送るWebアプリケーションを作成していきます

ので是非自動化を網羅的に学ぶ際の最初の取っ掛かりにしてみてください!

【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース

Udemy python
【オススメ度】
【講師】僕自身!今なら購入時に「GT34R35G27DD」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください!
【時間】3.5時間
【レベル】初級~中級
ウマたん
ウマたん
僕のTwitter(@statistics1012)にメンションを飛ばしてクーポンが欲しいとつぶやいてくれたら1500円になる講師クーポンを発行するよ!
\30日以内なら返金無料/このコースを見てみる

 

Step3:自動化したい作業の要件を決めて実装

実際に自動化を一通り実装してみた後は、実践です!

自分が普段何気なくやっているルーティン作業を書き出してみて、どんな作業に分割できるか考えてみましょう!

おそらく自動化できそうなタスクできなさそうなタスクに分類できるはずです。

最初は、小タスクでもよいので自動化しやすいタスクから自動化をしていきましょう!

必ずしも1つのタスクの全行程を自動化する必要はないのです。

マーケティングを学んだ上でSEO業務にスクレイピングでの自動化を組み込んでいくデモ的なことをやっていく講座を以下で作成しております。

【入門から実践まで】Webマーケティングの全体像とデータ活用を短時間で学び実際にSEO集客ツールを作ってみよう!

Webマーケ講座
【オススメ度】
【講師】僕自身!今なら購入時に「GT34R35G27DD」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください!
【時間】2.5時間
【レベル】初級
\30日以内なら返金無料/このコースを見てみる

Pythonで自動化ってどんなことやればいいの!?という方はぜひ参考にしてみてください!

実際に手を動かしてPythonで自動化をしてみよう!

stories pc

それでは、最後に実際に手を動かしてPythonで自動化をしてみようと思います。

非常に単純な操作を実装することで自動化の面白さを実感してみてください。

先ほど登場したSeleniumというライブラリを用いてブラウザの自動操作をおこなっていきます。

ちょっと前準備が面倒なのですが頑張りましょう!

前準備(Windowsの場合)

意外とつまづきやすいのが、この前準備。

Seleniumを使ってブラウザを操作するためには専用のドライバーをダウンロードしなくてはいけません。(Windowsの場合)

今回はChromeブラウザを使用するので、Chromeを動かすためのChrome Driverをインストールしていくのですがご自身が使っているChromeのバージョンとダウンロードするChrome Driverのバージョンが一致するようにしましょう!

ここが一致しないと上手く動作しません。

Chrome Driverは以下のページからダウンロードしてください。

自分が使っているChromeブラウザのバージョンはブラウザ右上の3点リーダーメニューから以下のように確認することができます。

Google Driver Google Driver

この場合使っているChromeブラウザのバージョンは84なので、Chrome Driverのバージョンも84を選ぶようにしましょう!

Google Driver

ダウンロードしたChrome Driverは任意のディレクトリフォルダに格納しておきましょう。

以下のコードでChomeブラウザを動かす準備が完了!

from selenium import webdriver
import time

driver = webdriver.Chrome(executable_path='Chrome Driverの格納パス')

前準備(Mac)の場合

Macの方が簡易的に実装することが可能です。

Macの場合はChromedriverをインストールせず以下のようにターミナルに打つだけで実装することが可能です。

ターミナルにて

brew cask install chromedriver

と入力してください。

既にchromedriverが入っていて再度インストールしたい場合は

brew cask reinstall chromedriver

としましょう。

そして以下のようにしてあげれば問題ないです。

from selenium import webdriver
import time

driver = webdriver.Chrome()

Googleで検索をしてみよう!

それでは準備が整ったところでGoogle検索をおこなってみましょう!

以下の公式HPに載っているSample testのコードを実行するとGoogle検索ができますよ!

#Googleのブラウザを開く
driver.get('https://www.google.com/')
time.sleep(2)

#スタビジを検索
search_box = driver.find_element_by_name('q')
search_box.send_keys('スタビジ')
search_box.submit()
time.sleep(2)

これで、Googleでスタビジと検索してくれます。

ロボたん
ロボたん
わー!感動!

さらにもっと踏み込んだSeleniumの実装については、以下の記事でより詳しくまとめていますので是非チェックしてみてください。

Selenium
【コード付き】Selenium×Pythonの使い方!Chromeブラウザを自動操作してみようー!当サイト【スタビジ】の本記事では、SeleniumをPythonで動かしてChromeブラウザ上で行う操作を自動化していきます。非常に簡単なコードを記述するだけで操作できるのでぜひ試してみてください!Seleniumを駆使すれば普段の単純労働が全自動になるかもしれませんよ!...

Pythonでの自動化 まとめ

本記事では、Python×自動化で出来ることについて簡単に見てきました。

ロボたん
ロボたん
Pythonでこんなに簡単に自動化ができちゃうなんて・・・どんどん色んな作業を自動化してみたい!
ウマたん
ウマたん
有料のRPAツールを使う前にまずはPythonで自動化が出来るか試してみるとよいよ!

もしPython面倒!という方は有料のSaaSツールを調べて使ってみましょう!

例えば、「Xtractor」というツールでは、Gmailの請求書データなどを自動で集計してスプレッドシートで計算してくれる自動化ツールです!

色んな面白いツールがあるので調べてみましょう!調べた上で、実際にそのツールでやってることがPythonでできるか試してみるのも面白いかも!

自動化は目に見えて効果が出るのでやっていて楽しく、Pythonを学ぶモチベーションにもつながります。

ぜひ身近の様々な作業をPythonで自動化していきましょう!

Pythonの勉強法について詳しくは以下の記事でまとめています!

Python独学勉強法
【Python独学勉強法】Python入門を3ヶ月で習得できる学習ロードマップ当サイト【スタビジ】の本記事では、過去僕自身がPythonを独学を駆使しながら習得した経験をもとにPythonを効率よく勉強する方法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

PythonでExcel操作する方法についてまとめているので、Excel操作を自動化したい時に参考にしてみて下さい。

python_excel
【サンプルコード付き】PythonでのExcel操作でできること5選!当サイト【スタビジ】の本記事では、PythonでのExcel操作のやり方についてコード付きで解説していきます。実務でもよく利用されるExcel!Pythonを使って作業を効率化していきましょう!...

GAS(Google Apps Script)を使った自動化の例も紹介しているので、興味があれば見てみてください。

gas
【サンプルコード付き】GASを使った自動化を実装してみよう!当サイト【スタビジ】の本記事では、GAS(Google Apps Script)を使った自動化の方法について解説していきます。GASを使うといろんなことが自動化できます!サンプルコードを参考にGASの使い方をマスターしていきましょう!...

また、夢を見ないで欲しいのですがPython×自動化でどのようにお金を稼ぐことができるか以下の記事で簡単に取り上げていますのでこちらもチェックしてみてください!

Python 自動化 稼ぐ
【騙されるな】現実的にPython自動化で稼ぐ仕組みを作る方法当サイト【スタビジ】の本記事では、Pythonで自動化を実現して稼ぐ仕組みを作る方法について徹底的に解説していきます!Pythonで稼ぐのはそんなに簡単ではありませんが、地道にしっかりステップを踏み学べば自動化して仕組み化していくことも不可能ではありません!誰でも簡単に稼げる魔法のノウハウはないので注意しましょう!...

スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら