普段、退屈なルーティン作業にうんざりしていないでしょうか・・・?
な、なんと、Pythonを使えば、そんな業務も一気に自動化できるかも、しれないんです!
もちろん市販のRPA(Robotic Process Automation)ツールを利用するという手もありますが、定型作業ならPythonでほぼ自動化出来てしまうんです。
またPythonは機械学習・AI領域にも強いプログラミング言語なので、自動化の作業に機械学習的なスパイスを入れてあげることも可能です。
ちなみに株価予測なら、僕自身がUdemyで「【Python×株価分析】株価データを取得・加工・可視化して時系列分析!最終的にAIモデルで予測をしていこう!」」というコースを出しているのでぜひチェックしてみてください!
【時間】 | 3.5時間 |
---|---|
【レベル】 | 初級 |
株価分析の基礎を理解したいのであればこれ!今なら購入時に「66FLEHE87LQ6」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください!
Pythonでの自動化ってどんなことが出来る?
実際にPythonでどんな作業が自動化できるのか見ていきましょう!
ブラウザの自動操作
まずは、ブラウザの自動操作。
日々気付かず繰り返しているルーティン作業的なブラウザ操作はありませんか??
Pythonを使えば、そんなブラウザ上の様々な操作を自動化することが可能です。
ブラウザの操作にはSeleniumというライブラリを用いるパターンとPyAutoGuiというライブラリを用いるパターンがあります。
Seleniumでブラウザを自動操作
Seleniumというライブラリを使うことで、簡単にブラウザの自動操作を行うことが可能です。
例えば、特定のサイトで複数のボタンを押下して大量のデータを定期的にダウンロードしているというような業務はSeleniumを使って自動化できちゃいます。
具体的にWebサイトを構成するHTMLのタグ情報を指定して操作していくことになります。
HTMLについては以下の記事をあわせてチェックしてみてください。
後ほど実際に実装していきますよ!
PyAutoGuiでブラウザを自動操作
続いてPyAutoGuiというライブラリを使ってブラウザを自動操作することも可能です。
このPyAutoGuiはSeleniumよりも直感的に分かりやすくブラウザを操作できるライブラリであり、初心者にオススメです。
SeleniumではHTMLのタグ構造から要素を指定して操作していくのでしたが、PyAutoGuiでは座標指定をしてブラウザを操作していきます。
サイトの情報を抽出
ブラウザの操作を行ってきましたが、そこにあわせてサイト上にある様々な情報を抽出してくることも可能です。
※これをスクレイピングと呼びます。
情報の抽出に関してはもちろんseleniumを使って行うことが出来ますし、beautifulsoupというライブラリを使って行うことも出来ます。
色々なことが出来るのですが・・・例えば
Google Chromeのブラウザを立ち上げてニュースサイトに遷移し、昨日の記事を全て抽出してCSVとして吐き出す
みたいなことはSeleniumを使って可能です!
Seleniumを使えば、ブラウザを操作しながら必要な場所にアクセスしてその上で必要な情報を抽出してこれるのです!
CSVやExcelのデータをインポートして加工集計してアウトプット
どこまでを自動化と呼ぶのかは難しいところですが、
CSVやExcelのデータをローカルからインポートしてきて加工集計してその結果を新たなCSV・Excelファイルとしてはき出すこと
が可能です。
業務において、バラバラに管理されているファイルをそれぞれ開いて1つ1つコピー&ペーストして1つのファイルに結合し新たなファイルにしていることなどはないでしょうか?
もちろん作業の要件によっては完全自動化は難しいですが、比較的Pythonを使えば簡単に自動化することが出来ます。
CSVやExcelファイルの取り込みと加工集計にはPandasというデータフレームを用いますので、以下の記事を参考にしてみてください。
各種APIと連携して様々なデータの連携・アウトプット
また、さらにPythonを使えば様々なサービスのAPIを利用して使うことも可能です。
APIとはアプリケーションプログラミングインターフェースの略であり、簡単に言うと
「ソフトウェアを通して機能などをつなげることのできる仕組み」
です。
普段使っているGoogleのサービスやTwitterやInstagramなどのAPIも無料で使うことができるんです!
PythonでのAPI利用に関しては以下の記事でも詳しくまとめていますので是非チェックしてみてください!
Webアプリケーション化して自動化をパッケージ化
自動化のさらに一歩踏み込んだ領域として、その自動化作業自体をアプリケーション化してしまうという方法があります。
例えば、
特定のサイトから情報を抽出してきてデータ集計加工してGoogleスプレッドシートにAPI経由で出力したい
としましょう。
もちろん、それらのプログラムをPythonで組んで自分の環境で実行すれば問題ないのですが、例えばそのプログラムをアプリケーション化してあげて公開することで社内や組織の全てのユーザーが使えるような汎用的なものになりうるかもしれません。
また、それが社外含めてより一般的なものなのであればツールとして販売することもできるかもしれません。
このように自動化作業の民主化のためにはWebアプリケーション作成が重要になってくるのです!
Pythonの自動化はどのように学んでいけばよい?
それでは、実際にPythonの自動化はどのように学んでいけばよいでしょうか?
Python自動化を学ぶためのロードマップを見ていきましょう!
Step1:Pythonを学ぶ
まずは、Pythonの基本を学んでください!
Pythonがある程度分かっている状態であれば問題ありませんが、Pythonを触ったことがない、ほとんど使ったことがないという状態であれば環境構築や基本的な構文の理解をしていく必要があります。
Pythonの環境構築は最初の壁としてつまづきやすいのですが、特に気にしないのであればGoogle Colaboratoryを使えば環境構築はしないで済むのでオススメです!
またPythonの基礎を勉強する上では当メディアが運営するスタビジアカデミー(スタアカ)がオススメです!
業界最安級でPythonだけではなくデータサイエンスやマーケティングも同時に学べるのでぜひPythonをどのように使えばよいか知りたい!という方はチェックしてみてください!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
ご受講お待ちしております!
Step2:まずは簡単な自動化
一旦、Pythonの基礎について学んだら、まずは何かのレクチャーに沿って簡単な自動化をおこなってみましょう!
このあとに実際にコードを書いて自動化を試してみるので、それに倣ってやってみても問題ありません。
また、私自身がUdemyで公開している以下の講座で
ブラウザの自動操作から情報を抽出し加工集計してAPI経由でSlackに通知を送るWebアプリケーションを作成していきます
ので是非自動化を網羅的に学ぶ際の最初の取っ掛かりにしてみてください!
【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース
【オススメ度】 | |
---|---|
【講師】 | 僕自身!今なら購入時に「66FLEHE87LQ6」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください! |
【時間】 | 3.5時間 |
【レベル】 | 初級~中級 |
Step3:自動化したい作業の要件を決めて実装
実際に自動化を一通り実装してみた後は、実践です!
自分が普段何気なくやっているルーティン作業を書き出してみて、どんな作業に分割できるか考えてみましょう!
おそらく自動化できそうなタスクとできなさそうなタスクに分類できるはずです。
最初は、小タスクでもよいので自動化しやすいタスクから自動化をしていきましょう!
必ずしも1つのタスクの全行程を自動化する必要はないのです。
マーケティングを学んだ上でSEO業務にスクレイピングでの自動化を組み込んでいくデモ的なことをやっていく講座を以下で作成しております。
【入門から実践まで】Webマーケティングの全体像とデータ活用を短時間で学び実際にSEO集客ツールを作ってみよう!
【オススメ度】 | |
---|---|
【講師】 | 僕自身!今なら購入時に「66FLEHE87LQ6」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください! |
【時間】 | 2.5時間 |
【レベル】 | 初級 |
Pythonで自動化ってどんなことやればいいの!?という方はぜひ参考にしてみてください!
実際に手を動かしてPythonで自動化をしてみよう!
それでは、最後に実際に手を動かしてPythonで自動化をしてみようと思います。
非常に単純な操作を実装することで自動化の面白さを実感してみてください。
先ほど登場したSeleniumというライブラリを用いてブラウザの自動操作をおこなっていきます。
ちょっと前準備が面倒なのですが頑張りましょう!
前準備(Windowsの場合)
意外とつまづきやすいのが、この前準備。
Seleniumを使ってブラウザを操作するためには専用のドライバーをダウンロードしなくてはいけません。(Windowsの場合)
今回はChromeブラウザを使用するので、Chromeを動かすためのChrome Driverをインストールしていくのですがご自身が使っているChromeのバージョンとダウンロードするChrome Driverのバージョンが一致するようにしましょう!
ここが一致しないと上手く動作しません。
Chrome Driverは以下のページからダウンロードしてください。
自分が使っているChromeブラウザのバージョンはブラウザ右上の3点リーダーメニューから以下のように確認することができます。
この場合使っているChromeブラウザのバージョンは84なので、Chrome Driverのバージョンも84を選ぶようにしましょう!
ダウンロードした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の実装については、以下の記事でより詳しくまとめていますので是非チェックしてみてください。
Pythonでの自動化 まとめ
ここまでで、Pythonの自動化について見てきました。
この記事では、Python×自動化で出来ることについて簡単に見てきました。
もしPython面倒!という方は有料のSaaSツールを調べて使ってみましょう!
例えば、「Xtractor」というツールでは、Gmailの請求書データなどを自動で集計してスプレッドシートで計算してくれる自動化ツールです!
色んな面白いツールがあるので調べてみましょう!調べた上で、実際にそのツールでやってることがPythonでできるか試してみるのも面白いかも!
自動化は目に見えて効果が出るのでやっていて楽しく、Pythonを学ぶモチベーションにもつながります。
ぜひ身近の様々な作業をPythonで自動化していきましょう!
Pythonの勉強法について詳しくは以下の記事でまとめています!
PythonでExcel操作する方法についてまとめているので、Excel操作を自動化したい時に参考にしてみて下さい。
GAS(Google Apps Script)を使った自動化の例も紹介しているので、興味があれば見てみてください。
また、夢を見ないで欲しいのですがPython×自動化でどのようにお金を稼ぐことができるか以下の記事で簡単に取り上げていますのでこちらもチェックしてみてください!