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

> 当サイト【スタビジ】の本記事では、Pythonで出来る自動化について徹底的に見ていきたいと思います！様々な業務を自動化して、ルーティン業務をなくしていくことであなたの仕事や生活は格段に楽になるはずです！Pythonの自動化で出来ること・勉強ロードマップ・そして最終的に簡単な実装を見ていきます。

- URL: https://toukei-lab.com/python-automation
- 公開: 2022.11.29 / 更新: 2024.12.08
- サイト: スタビジ（https://toukei-lab.com）

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

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

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

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

:::talk{who="robotan"}
うーん、でもお金がかかったり面倒だったりするんじゃないの・・・？
:::

:::talk{who="umatan"}
Python実装はもちろん無料だし、コーディングもそれほど複雑じゃないんだよ！
:::

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

:::talk{who="umatan"}
毎日[自動で株価の情報を取得してきて予測値を算出](/python_stock)するとか・・・
:::

ちなみに株価予測なら、僕自身がUdemyで「[【Python×株価分析】株価データを取得・加工・可視化して時系列分析！最終的にAIモデルで予測をしていこう！」](https://www.udemy.com/course/python-stock/?referralCode=CC298C31A1B626D32D77)」というコースを出しているのでぜひチェックしてみてください！[![Udemy_Stock](/wp-content/uploads/2023/05/5b30dff603dd2dc73e6a27dc1db15465.jpg)](https://www.udemy.com/course/python-stock/?referralCode=CC298C31A1B626D32D77)

<table class="table">
<tbody>
<tr>
<th>【時間】</th>
<td><span>3.5時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級</span></td>
</tr>
</tbody>
</table>

株価分析の基礎を理解したいのであればこれ！今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！

＼30日以内なら返金無料／

::button[このコースを見てみる]{href="https://www.udemy.com/course/python-stock/?referralCode=CC298C31A1B626D32D77"}

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

:::talk{who="robotan"}
どんな自動化が出来るのか具体的に知りたいなー！
:::

:::talk{who="umatan"}
そうだね！実際にPythonでの自動化の具体例について見ていこう！
:::

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

### ブラウザの自動操作

![pc python](/wp-content/uploads/2019/08/Work-time-amico-min-e1613688546361-1024x875.png)

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

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

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

ブラウザの操作には[**Selenium**](/selenium-python)というライブラリを用いるパターンと**PyAutoGui**というライブラリを用いるパターンがあります。

#### Seleniumでブラウザを自動操作

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

:::talk{who="umatan"}
PyAutoGuiよりもSeleniumが使われることが多いかなー
:::

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

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

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

<https://toukei-lab.com/html_css_study>

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

#### PyAutoGuiでブラウザを自動操作

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

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

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

:::talk{who="robotan"}
なるほどー、ブラウザ操作ができちゃうのか！SeleniumとPyAutoGuiはどっちの方がいいのかな？？
:::

:::talk{who="umatan"}
作業次第だけど、Seleniumの方が応用が利きやすいよ！
:::

### サイトの情報を抽出

![Coding](/wp-content/uploads/2017/11/Coding-amico-e1617441754417-1024x921.png)

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

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

情報の抽出に関してはもちろん**selenium**を使って行うことが出来ますし、[**beautifulsoup**](/python-scraping)というライブラリを使って行うことも出来ます。

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

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

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

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

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

![python](/wp-content/uploads/2019/08/Admin-amico-min-e1613730531228-1024x914.png)

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

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

が可能です。

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

:::talk{who="robotan"}
え・・・結構そういうことしちゃってるかも・・・
:::

:::talk{who="umatan"}
そういう作業は比較的Pythonで自動化できる可能性が高いから見直してみるとよいよ！
:::

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

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

<https://toukei-lab.com/python-pandas>

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

![Mobile Marketing](/wp-content/uploads/2020/07/Mobile-Marketing-amico-e1613688956758-1024x837.png)

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

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

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

です。

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

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

<https://toukei-lab.com/api>

:::talk{who="umatan"}
APIを通して、様々なアプリのデータを取得・分析できるんだ！
:::

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

![Site Stats](/wp-content/uploads/2017/11/Site-Stats-amico-e1632354780601-1024x959.png)

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

例えば、

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

としましょう。

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

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

:::talk{who="robotan"}
普段使っているサービスみたいなものもPythonで作れちゃうんだね・・・
:::

:::talk{who="umatan"}
そうなんだ！Pythonであれば何でも出来ちゃう！
:::

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

<https://toukei-lab.com/python-webapp>

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

![quiz](/wp-content/uploads/2021/01/Exams-amico-min-e1618234275813-1024x955.png)

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

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

### Step1：Pythonを学ぶ

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

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

Pythonの環境構築は最初の壁としてつまづきやすいのですが、特に気にしないのであれば[Google Colaboratory](https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja)を使えば環境構築はしないで済むのでオススメです！

<https://toukei-lab.com/google-colaboratory>

またPythonの基礎を勉強する上では当メディアが運営す&#x308B;**[スタビジアカデミー（スタアカ）](https://toukei-lab.com/achademy/)**&#x304C;オススメです！

[![スタアカトップ](/wp-content/uploads/2021/11/2bc9f22d0f8dfe24080b83884b7a5ec6-1024x576.jpg)](https://toukei-lab.com/achademy/)

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

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

＼今すぐ試す／

::button[スタアカの受講はこちら]{href="https://toukei-lab.com/achademy/"}

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

### Step2：まずは簡単な自動化

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

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

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

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

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

#### [【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース](https://www.udemy.com/course/python-can/?referralCode=2CBAD21040FF57199084)

[![Udemy python](/wp-content/uploads/2020/04/Udemy-me2-min-1024x554.jpg)](https://www.udemy.com/course/python-can/?referralCode=2CBAD21040FF57199084)

<table class="table">
<tbody>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中5点" data-value="5"></span></td>
</tr>
<tr>
<th>【講師】</th>
<td>僕自身！今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！</td>
</tr>
<tr>
<th>【時間】</th>
<td><span>3.5時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級～中級</span></td>
</tr>
</tbody>
</table>

:::talk{who="umatan"}
僕のTwitter([@statistics1012](https://twitter.com/statistics1012))にメンションを飛ばしてクーポンが欲しいとつぶやいてくれたら1500円になる講師クーポンを発行するよ！
:::

＼30日以内なら返金無料／

::button[このコースを見てみる]{href="https://www.udemy.com/course/python-can/?referralCode=2CBAD21040FF57199084"}

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

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

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

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

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

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

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

#### [【入門から実践まで】Webマーケティングの全体像とデータ活用を短時間で学び実際にSEO集客ツールを作ってみよう！](https://www.udemy.com/course/web-marketing-for-beginner/?referralCode=2F55DB2D1A30C8F41E4F)

[![Webマーケ講座](/wp-content/uploads/2021/02/Udemy-me4-min-1024x538.jpg)](https://www.udemy.com/course/web-marketing-for-beginner/?referralCode=2F55DB2D1A30C8F41E4F)

<table class="table">
<tbody>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中5点" data-value="5"></span></td>
</tr>
<tr>
<th>【講師】</th>
<td>僕自身！今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！</td>
</tr>
<tr>
<th>【時間】</th>
<td><span>2.5時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級</span></td>
</tr>
</tbody>
</table>

＼30日以内なら返金無料／

::button[このコースを見てみる]{href="https://www.udemy.com/course/web-marketing-for-beginner/?referralCode=2F55DB2D1A30C8F41E4F"}

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

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

![stories pc](/wp-content/uploads/2021/01/All-the-data-bro-e1613475965440-1024x789.png)

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

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

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

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

### 前準備（Windowsの場合）

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

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

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

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

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

:::ref
[ChromeDriver – WebDriver for Chrome](https://sites.google.com/a/chromium.org/chromedriver/home)
:::

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

![Google Driver](/wp-content/uploads/2020/08/19412f4f93715b242ac6f12fbed4fd24.jpg) ![Google Driver](/wp-content/uploads/2020/08/f94374280d2abe993eb60ae731d648d1.jpg)

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

![Google Driver](/wp-content/uploads/2020/08/Chrome-Driver-min.jpg)

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

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

```python
from selenium import webdriver
import time

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

### 前準備（Mac）の場合

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

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

ターミナルにて

```python
brew cask install chromedriver
```

と入力してください。

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

```python
brew cask reinstall chromedriver
```

としましょう。

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

```python
from selenium import webdriver
import time

driver = webdriver.Chrome()
```

### Googleで検索をしてみよう！

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

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

:::ref
[ChromeDriver – WebDriver for Chrome- getting started](http://chromedriver.chromium.org/getting-started)
:::

```python
#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でスタビジと検索してくれます。

:::talk{who="robotan"}
わー！感動！
:::

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

<https://toukei-lab.com/selenium-python>

## Pythonでの自動化　まとめ

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

:::talk{who="robotan"}
Pythonでこんなに簡単に自動化ができちゃうなんて・・・どんどん色んな作業を自動化してみたい！
:::

:::talk{who="umatan"}
有料のRPAツールを使う前にまずはPythonで自動化が出来るか試してみるとよいよ！
:::

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

例えば、「[Xtractor](https://xtractor.app/)」というツールでは、Gmailの請求書データなどを自動で集計してスプレッドシートで計算してくれる自動化ツールです！

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

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

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

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

<https://toukei-lab.com/python-learn>

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

<https://toukei-lab.com/python_excel>

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

<https://toukei-lab.com/google_apps_script>

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

<https://toukei-lab.com/python-auto-money>

::youtube{#M57df8-mq3Q}