やもりの技術ブログ

日々の生活で行った技術的な活動や日頃感じたことを書きます。

【開発】予約の空きやキャンセルがでたらLINEに通知するシステムを作った話

こんにちは、やもり(yamori-tech)です。

開発として「予約の空きやキャンセルがでたらLINEに通知するシステムを作った話」について書こうと思います。他サイトでも、大体同じような流れでできると思います。

f:id:yamori-tech:20210808113317p:plain

開発システムからLINEへ通知される内容


結論としては、サーバ(CentOS)で対象サイトの予約ページを定期的にスクレイピングし、予約可能な日時を見つけたらラインへ通知するようにしました。

またスクレイピングでありがちな「ブラウザのバージョン変更ごとに手動でChromeDriverを更新しなくてはならない煩雑さ」を回避するため、

今回は ChromeDriverManager() を導入しました。

  • なぜ作ったか
  • どのように作ったか
  • まとめ
続きを読む

【開発】Suica(PASMO)の利用履歴を読み出す話

こんにちは、やもり(yamori-tech)です。

開発として「SuicaPASMO)の利用履歴を読み出す話」について書こうと思います。学生証や免許書なども、大体同じような流れで読み出せます。

結論としては、Mac から パソリ rc-s380(Felicaリーダー)、 nfcpy を install 利用し、モバイルSuicaのデータを読み出せました。また、同じソースコードで、スマートICOCAやPASMOの情報も読み出せました。


www.youtube.com

 

  • なぜ作ったか
  • どのように作ったか
    • 方針
    • SuicaPASMO)の利用履歴を読み出す概要
    • 構築環境
    • setup
    • 実装内容
  • まとめ
  • 【余談】そもそも、NFCってなんぞや?
続きを読む

【備忘録】pd.merge(join) したらデータが増えた話

こんにちは、やもり(yamori-tech)です。

備忘録として「pd.merge したらデータが増えた話」について書こうと思います。

結論としては、drop_duplicates(['hoge'], keep='last')を指定することで、right側のデータの最新のレコードを一意(ユニーク)とすることで、解決します。

df3 = df2.sort_values('update_time').drop_duplicates(['id'], keep='last')
続きを読む

【備忘録】8桁のstr型数字 00000000 を pd.read_csv で読み込んだら 0.0 になる罠にハマった話

こんにちは、やもり(yamori-tech)です。

備忘録として「8桁のstr型数字 00000000 を pd.read_csv で読み込んだら 0.0 になる罠にハマった話」について書こうと思います。

結論としては、dtype=object を指定することで、空欄を維持したまま csv を読み込むことができます。

>|python|
pd.read_csv('hoge.csv', dtype=object, encoding='utf-8')
||<
  • 何があったの?
  • 処理上の制限と解決手段
続きを読む

スマートウォッチ(Alexa)に話しかけてTrelloにチケットを切る連携を作った話

こんにちは、やもり(yamori-tech)です。

今回「スマートウォッチに話しかけたらメモアプリにメモできる」機能を作成しました。調理中やスマホが近くに無いなど、ふとした瞬間にスマホを開かずメモできて便利です。

youtu.be

  • なぜ作ったか
  • どのように作ったか
  • 使い方
  • まとめ
続きを読む