Python

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

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

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

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

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

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

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

ウマたん
ウマたん
毎日自動で株価の情報を取得してきて予測値を算出するとか・・・

そんな便利なPythonでの自動化について徹底的に見ていきましょう!

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

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

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

ブラウザの自動操作

pc python

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

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

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

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

Seleniumでブラウザを自動操作

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

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

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

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

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

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を使えるようになると幅が広がりますよ!...

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の基礎を勉強する上では以下のUdemy講座が非常にオススメです。

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

Udemy コース データサイエンス
【オススメ度】
【講師】シリコンバレーのSplunkで働く現役エンジニア
【時間】28.5時間
【レベル】初級~上級
\30日間全額返金可能/このコースを見てみる

シリコンバレーで働く現役エンジニアの酒井さんのコースです。

シリコンバレーで働いている現地の様子なども知れるので米国で働くことを夢見ている人必見のコースになります。

このコースは初歩の初歩から上級レベルまで幅広く網羅しているのが特徴です。

それもそのはずUdemyのコースとしては相当ボリューミーな28.5時間というコンテンツ量。

テンポよく話すのでそれで28.5時間は相当なコンテンツ量です。

チーム開発を進めていく上でのPython記述法の極意も学べるのである程度Pythonに知見がある方でも勉強になります。

ぜひ見てほしいコースですが、途中相当開発よりのヘビーな内容が登場するのでつまみ食い的に視聴することをオススメします。

Pythonを学ぶ上でオススメのUdemy講座は以下の記事でより詳しくまとめていますので是非チェックしてみてください!

Udemy Python
【20コース以上受講】UdemyのおすすめPythonコースを徹底レビュー!当サイト【スタビジ】の本記事では、世界最大の教育プラットフォーム「Udemy」のPython講座を20コース以上受講した僕がそれぞれのコースを徹底的にレビューしていきます!ぜひムダな時間を費やさず目的に沿った効率の良いPython学習を進めてくださいね!...

Step2:まずは簡単な自動化

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

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

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

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

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

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

Udemy python
【オススメ度】
【講師】僕!
【時間】3.5時間
【レベル】初級~中級
ウマたん
ウマたん
僕のTwitter(@statistics1012)にメンションを飛ばしてクーポンが欲しいとつぶやいてくれたら1200円になる講師クーポンを発行するよ!
\30日間全額返金可能/このコースを見てみる

 

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

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

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

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

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

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

実際に手を動かして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×自動化で出来ることについて簡単に見てきました。

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

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

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

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

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

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

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

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!