実務で使えるRPA(RDA)のサンプルコード説明などを体系的に書いていこうかなと考えている
昨今もてはやされているRPA(robotic process automation)
Automation Anywhere、Uipath、winactorなどが有名だが、いかんせん、その製品ごとの作り方があって製品ごとの学習が必要で学習コストがかかる、またライセンス製でもあるため金銭的コストもかかる
社内への導入にはそれなりに手間がかかるのが現状だ
メリットは誰が作っても同じような作りになるのと、コードの書き方もある程度同じになるということ、修正したら同期がとれるということ、難しいプログラミングが不要ということなどだろうか
ただ、こういうのは大企業でやることは決まってるが業務量がとても多いルーティン作業などがある会社は効果が非常に高いと思う
中小企業や、とてもロボットに任すほどでもないささいな個人的な事務作業を自動化したい場合は向いていない
そこでRDA(robotic desktop automation)がいいという考えが出てくる
現実的にはこちらのほうが多用するのではないかと思っている
会社の事務作業って種類がありすぎていちいちRPAで作成して管理するとかしていられなかったりする
そこで自分の経験や独学から、RDAで使えるサンプルコードなど解説を交えながら体系的に記事にしていけたらいいなと思い書いてみようかなと考えている
考えているだけで終わるかもしれない、、、、
pythonでマネーフォワードの更新ボタンを押すプログラムを作った
自分が持っている各銀行口座の貯金額をまとめて管理できるマネーフォワードというとても便利なサービスがある
基本無料で利用できるが一部機能は有料だ
その有料の機能の一つとして、各銀行口座にある貯金額の更新を一つのボタンですべてできるというのがある
無料版では各銀行口座毎に更新ボタンを押す必要がある
口座数が少ない人はポチポチ押せばいいので有料の一つのボタンですべて更新できる機能は特に必要ではないと思う
と前置きは以上で、暇なのでpythonで自動でこの更新ボタンをすべて押してくれるコードを書いてみた
※seleniumを使うのでchromedriverが必要です
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import timedpath = "" #←chromedriveの場所
url = "https://moneyforward.com"
m = "" #←メールアドレス
p = "" #←パスワード
driver = webdriver.Chrome(dpath)
driver.get(url)
element = driver.find_element_by_class_name("web-sign-in")
element.click()element = driver.find_element_by_name("sign_in_session_service[email]")
element.send_keys(m)element = driver.find_element_by_name("sign_in_session_service[password]")
element.send_keys(p)element = driver.find_element_by_id("login-btn-sumit")
element.click()element = driver.find_element_by_class_name("not-now")
element.click()
elements = driver.find_elements_by_link_text("更新")
for e in elements:
e.click()time.sleep(3)
driver.quit()
以上、暇だー
ラズパイをリモート接続してMacbookで操作する
最初ラズパイをHDMIケーブルでテレビに繋ぎ操作していたが、マウスのコードとか操作にあたって何かとめんどくさいのでよく触るMacBook Airで操作できるようにした
こうすることでHDMIケーブルにとらわれず、ラズパイを好きな場所における
こちらを参考にさせていただきました
ラズパイのVNCの有効化
MacBook AirにVNCのアプリをインストール
ラズパイに割り当てられているIPアドレスを確認する
ラズパイの画面の右上にVNCのアイコンがあるのでそちらをクリックするとIPアドレスがなにかわかる
ラズパイのIPアドレスを入れると接続可能になる
ログインが必要なのでパスワード入れてログイン
Mac上でラズパイを操作することが可能になった
と、今日はここまで
ラズパイでWebスクレイピングできるように整える
自分が知ってるpythonでスクレイピングする方法で思いつくモジュールは2つ
requests
selenium + chromedriver
上記のどちらかで取得したhtmlを
beautifulsoupで分解して必要な情報を抽出するという流れ
javascriptが多様されているWebサイトならばselenium+chromedriverじゃないと厳しい
ということでとりあえずselenium+chromedriverを使える環境にしたいと思う
ラズパイにいれたraspbianというOSにはChromiumというブラウザが入っていた
あまり知らなかったが、軽く調べるとchromeの簡易版みたいなもんだろうか
取り急ぎターミナルを立ち上げ以下を入力
pip3 install selenium
seleniumが入った
あとはdriverが必要だがchromedriverで良いのだろうか?
試してみた結論エラーが出てダメだった
たぶんChromiumのdriverじゃないとダメなのかなと思って検索してもダウンロードできるそれっぽいサイトが見当たらない
ターミナルからコマンド入力して取得する方法は出てくるが、慣れてないので配布しているサイトがないか探してみたが見当たらなかったのでターミナルから入れることにする
ググって見つけたシンプルなコードを入力
sudo apt install chromium-chromedriver
うまくダウンロード成功
こちらを参考にさせていただきました
seleniumとwebdriverが揃ったので試しにpythonのコードを書いて試してみる
from selenium import webdriver
url = "https://www.google.com"
driver = webdriver.Chrome(executable_path='chromedriverのフルパス')
driver.get(url)
web.pyとでも名付けて保存
うまく動くかターミナルから起動します
python3 /置いている場所/web.py
見事ブラウザが立ち上がり成功した
と今日はここまで
Raspberry Piを買ってみた
素人ながらpythonを学び、せっかく少しだけ慣れてきたので何か作りたいと思い、
RaspberryPi(略してラズパイ)なるものがあると知り、調べるとプログラミングを使った電子工作の学習に使えるといったり、pythonで制御できるとのことで思い切って買ってみた
クーポン使って8,000円
ラズパイ本体に加え、ACアダプタ、SDカード、ヒートシンク、専用ケース、HDMIケーブル、SDカード読み取り機がついてくる
まあ、このセット買っとけばすぐラズパイを始められるということですね
到着して開封
まずヒートシンクを貼る
裏と表に一個ずつ
説明書をまともに読んでないが、どこに貼るのかわからなかったためネット検索
ABOX Raspberry Pi 3 Model b+ セット内容の紹介と軽めのラズパイの説明
こちらの動画を参考にさせていただきました
ヒートシンクを貼ったら、ケースに入れてとりあえず外観は完成
SDカードはすでにセットアップデータ(NOOBS)が入ってるようなのでケースから出してそのままラズパイにセット
HDMIはテレビと繋ぐ
ACアダプタを繋ぐ
マウス、キーボードもセット
ここまで来て初めてコンセントに指して電源を入れる
電源入れるとNOOBSが起動
ついてた説明書通りに無線LANの設定と言語をJapaneseを指定する
設定できたらOSを入れる
いろいろ選択できるが無難にRaspbianを選択
読み込みが始まるので暫し待つ
晴れてWindowsのようなデスクトップ画面が出てきました
こんな画面です 画像は拾い物
と今日はここまで