素人プログラミング日記

素人のプログラミングに関する日記

実務で使える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 time

dpath = "" #←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ケーブルにとらわれず、ラズパイを好きな場所における

 

こちらを参考にさせていただきました

qiita.com

 

ラズパイのVNCの有効化

MacBook AirVNCのアプリをインストール

 

ラズパイに割り当てられているIPアドレスを確認する

ラズパイの画面の右上にVNCのアイコンがあるのでそちらをクリックするとIPアドレスがなにかわかる

 

MacVNCアプリを起動

ラズパイのIPアドレスを入れると接続可能になる

ログインが必要なのでパスワード入れてログイン

 

Mac上でラズパイを操作することが可能になった

と、今日はここまで

ラズパイでWebスクレイピングできるように整える

自分が知ってるpythonスクレイピングする方法で思いつくモジュールは2つ

 

requests

selenium + chromedriver

 

上記のどちらかで取得したhtmlを

beautifulsoupで分解して必要な情報を抽出するという流れ

javascriptが多様されているWebサイトならばselenium+chromedriverじゃないと厳しい

 

ということでとりあえずselenium+chromedriverを使える環境にしたいと思う

ラズパイにいれたraspbianというOSにはChromiumというブラウザが入っていた

あまり知らなかったが、軽く調べるとchromeの簡易版みたいなもんだろうか

ja.wikipedia.org

 

取り急ぎターミナルを立ち上げ以下を入力

pip3 install selenium

seleniumが入った

あとはdriverが必要だがchromedriverで良いのだろうか?

試してみた結論エラーが出てダメだった

たぶんChromiumのdriverじゃないとダメなのかなと思って検索してもダウンロードできるそれっぽいサイトが見当たらない

ターミナルからコマンド入力して取得する方法は出てくるが、慣れてないので配布しているサイトがないか探してみたが見当たらなかったのでターミナルから入れることにする

 

ググって見つけたシンプルなコードを入力

sudo apt install chromium-chromedriver

 うまくダウンロード成功

 

こちらを参考にさせていただきました

blog.naguu.info

 

 

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のようなデスクトップ画面が出てきました

「ラズビアン」の画像検索結果

こんな画面です 画像は拾い物

 

と今日はここまで