Pythonで毎日圧倒的に効率化している業務自動化術5選 【非エンジニアでもできます】
先に結論から。Youtubeのチャンネル登録をして、この動画を見ればPythonで自動化できることが分かりやすく解説されています。
Youtubeでチャンネル登録して動画を見てみる※追記 2019年6月7日
これ以外にもプログラミングの解説動画があるので、ぜひ以下のリンクからチャンネル登録して、ほかの動画も見てみてください!
Pythonで毎日の業務が自動化できたら、非常に便利ですよね。でも、
- どんなことが自動化できるんだろうかイメージがわかない
- わいたとしても実装するまでのイメージがなかなかわかない
という方がほとんどかと思います。そこで、今回は僕がPythonで毎日圧倒的に効率化している業務自動化について、事例を交えながら解説したいと思います。
目次
Pythonって難しそう
ほとんどの方は、この記事を読んでいるときにプログラミング経験がないと思うので、
- Pythonって難しそう
とおもわれているかたも多いのではないでしょうか。
でも安心してください。Pythonの設計思想では、プログラマーではない人でもコードが書けるように、ほかのプログラミング言語よりも圧倒的にシンプルに書かれています。
なので、もしこの記事を読んでよさそうであれば、ぜひ学習を進めてみてくださいね。
僕がPythonで毎日圧倒的に効率化させている業務自動化の例
ではでは、さっそく僕がPythonで業務自動化しているものの例をご紹介します。
①Web上でバズった記事のデータを10万件自動ダウンロードしてデータ分析
僕自身がライターなので、
- どういう記事のタイトルだったらバズるんだろう
ってよく考えるですよね。例えば「Python」について書くとしたら、どんな記事がバズるんだろうっていうときに、Pythonを使って過去にバズった記事のURL、タイトルを15年分抽出して、それをデータ分析するようなことも可能です。しかも、こんな数行のコードで。
from selenium import webdriver
from pandas import *
import time
#Access to page
browser = webdriver.PhantomJS() # DO NOT FORGET to set path
url = "http://b.hatena.ne.jp/search/text?safe=on&q=Python&users=50"
browser.get(url)
df = pandas.read_csv('trend.csv', index_col=0)
#Insert title,date,bookmarks into CSV file
page = 1 #This number shows the number of current page later
while True: #continue until getting the last page
if len(browser.find_elements_by_css_selector(".pager-next")) > 0:
print("######################page: {} ########################".format(page))
print("Starting to get posts...")
#get all posts in a page
posts = browser.find_elements_by_css_selector(".search-result")
for post in posts:
title = post.find_element_by_css_selector("h3").text
date = post.find_element_by_css_selector(".created").text
bookmarks = post.find_element_by_css_selector(".users span").text
se = pandas.Series([title, date, bookmarks],['title','date','bookmarks'])
df = df.append(se, ignore_index=True)
print(df)
#after getting all posts in a page, click pager next and then get next all posts again
btn = browser.find_element_by_css_selector("a.pager-next").get_attribute("href")
print("next url:{}".format(btn))
browser.get(btn)
page+=1
browser.implicitly_wait(10)
print("Moving to next page......")
time.sleep(10)
else: #if no pager exist, stop.
print("no pager exist anymore")
break
df.to_csv("trend1.csv")
print("DONE")
こんな感じでデータが自動収集されるスクリプトが起動されて
その結果をCSVにダウンロードして
これらのデータを、Pythonで分析できるJupyter Notebookを使って、毎年どんなキーワードが入っているタイトルがバズりやすいのか調べればいいわけです。こんな感じで、2017年度の日付を、ブックマーク数ごとに並び替えてあげれば。。。
year2017 = df[df["date"].str.contains("2017/", na=False)]
year2017.sort_values(by=["bookmarks"], ascending=False)
こんな感じで、過去数万件のタイトルから、2017年のタイトルだけ取得できます。
実際にこんな感じでデータ分析した結果、
- どの年度でも、初心者向けの記事がはやりやすい
- 「まとめ」ははやりやすい
- 2015年度以降は、自動化・スクレイピング・データ分析などのデータサイエンスよりのキーワードがはやっている
ということがわかり、このキーワードを使って【Python】スクレイピング→データ収集→整形→分析までの流れを初心者向けにまとめておく ~Pythonに関するはてな記事を10年分スクレイピングし、Pythonトレンド分析を実際にやってみた~
というタイトルでQiitaに書いてみたところ
みごとに186 Contirubutionsを獲得したり。
このように、面倒5時間かかるリサーチも、たった5分でデータ収集できてしまうのが、Pythonの大きなメリットです。
②他社のECサイトの在庫データを毎日Botで自動確認し、足りない場合はリストでメールで通知
例えば、海外のECサイトから毎日在庫情報を確認して、輸入して販売しているみたいな場合にも、Pythonは使えます。毎日在庫情報を確認するBotを作って、在庫がなければメール通知して足りないものを通知するようなBotを作成することができます。
ほかにも例えば、チケットを譲ってくれる人を見つけられるサイトがあるそうで、自分の見たいタイトルの舞台の名前を入れると、そのチケットを渡してくれる人を探すことができるそうなのですが、毎日検索して確認するのが面倒だそうなので、これを毎日プログラムが取得して、まとめたデータをSlackに通知してくれるようなプログラムを書いたりすることができます。
③SEO対策で必要なキーワードを自動でマイニング
ほかにも、例えばSEO対策をしているコンテンツマーケターにもPythonは役に立ちます。例えば、キーワードの並び順によってキーワードボリュームが違ったり、競合性が変わったりしますよね。そういうキーワードを手入力で全部調べていくのは非常に手間です。
そういったときに、Pythonを利用してキーワードを自動で入れ替え、検索ボリュームを自動でAPIを利用して取得し、それをCSVにエクスポートすることも、ワンクリックで可能になります。
④Googleの検索結果から、検索順位とそのページのアフィリエイトタグを埋め込み、アフィリエイターの競合分析
個人のアフィリエイターでもPythonで自動化ができます。例えば、ある特定のキーワードでGoogle検索の結果、存在するアフィリエイトコードを自動で抜き出して、そのコードからどういう商品が売れるのかを予測したりすることができます。これを自分の力で一つ一つやっていたら相当時間がかかりますが、秒速で終わらせることができます。
任意のキーワードで検索したときに、上位10記事のサイトから、アフィリエイトサイトのコードを抽出するスクリプト書いた。この悩みだったらこれがいける!みたいなのが記事書く前のリサーチでできるので、便利そう。(世界の闇を感じる) pic.twitter.com/adpof7qVXd
— DAI (@never_be_a_pm) September 25, 2018
⑤会社の打刻忘れを防止するためにブラウザ自動操作で打刻
これは実際に僕がやったわけではありませんが、毎日会社で打刻するのが面倒くさくて、Pythonでパソコンを起動した瞬間に打刻を自動化するプログラムを組んでいる人がいました。
どうやったらPythonの自動化を学ぶことができるのか
Pythonで自動化を学ぶには、以下の理解が必要です。
- Pythonの基礎
- Pythonを利用したWebスクレイピング
- Pythonを利用したデータ処理
- Pythonを利用したWeb APIの処理
- Pythonを利用した定期実行プラグラム(Cron)等の処理
です。
これらのスキルを学ぶためには、こちらの記事をぜひ参考にしてみてくださいね!
本気でPythonやAIを利用して業務自動化したい人へ
AIエンジニアのプログラミングスクールに関しては、以前AIのプログラミングスクールについてまとめた記事があるのでこちらを参考にしていただけるとと思います。
また、ここでご紹介したプログラミングスクールは、すべてインタビュー記事を書いておりますので、ぜひ参考にしてみてください!
- 【Aidemyの口コミ・評判は?】Aidemyを受講して、転職に成功された卒業生にインタビューしてみた【PR】
- Tech Boostの評判は?受講してエンジニアに転職した卒業生にインタビューしてみた【PR】
- 【Tech Academyの評判は?】Tech Academyを受講して、エンジニアに転職された卒業生にインタビューしてみた【PR】
Pythonを無料で学ぼう! DAINOTE公式チュートリアルを公開しました
- Pythonで簡単なアプリを開発してみたい
- でもまずは無料で勉強してみたい
- ただの基礎ではなく、応用が聴くような技術を身に付けたい
という方向けに、DAINOTE編集部が作成した、Pythonのチュートリアルを用意しました。
まずは、簡単な技術で、プログラミングを楽しんでみませんか?
チュートリアルを見る(無料)