classics.

2018/12/19 Wedflickr

Google Apps Scriptを使ってAmazonの注文履歴をGoogle Spreadsheetsに保存するようにした

capture20181219015231691

Amazonの注文履歴はAPIがないのでMechanizeでスクレイピングして @oquno_shopping に投げているのだけれど、ちょくちょくログインのCAPTCHAに阻まれて辛かったので、手始めにGmailに届いたAmazonの注文履歴をパースしてSpreadsheet(6年前くらいにGoogle Sheetsにリネームされたとかいう話も見るけれどひとまずSpreadsheetsと呼ぶことにする)に保存していくという部分の自動化がざっくりできたので公開してみる。

どうやってるかというと正規表現でゴリ押しなので仕様が変わったら崩壊するけどスクレイピングでCAPTCHA入れなくて済むのならいいかという気持ちです。正直誰か書いてると思ってたけど軽くググった限りではなかったのと、ゴリゴリ正規表現になるので日本版でしか使えないのがあまり汎用性ない。

ということでGoogle Apps Script使うのだるいという人は手動でお試しできるフォームも作ってそこにライブラリのIDとかも書いておいたのでチェックしてくれ。リンク先でGmailとSpreadsheetの操作許可を求められる仕様だけどボタン押すまで特に読み書きしないし自分にはスクリプトが実行されたとかエラーがあったという程度までしか情報はこないので安心できる人は安心していじってください。その他注意等はリンク先に書いた。

https://script.google.com/macros/s/AKfycbyAwCca0txvvHlxQe2Ir-zxCiIHygqgvtMgOztwKC1QbWT6iOr0/exec

その他既知の問題・課題

  • たまに商品名が販売元になってる(正規表現がおかしい?)
  • 注文一覧・発送情報一覧・商品一覧でシートを分けない方がいいのかもしれない
  • 注文一覧も時系列にソートしたいかもしれない
  • HTMLメールじゃないとちゃんと対応していない(ASIN とかはテキストメールに入ってないし仕方ない)

そして今後の展望としては oquno_shopping に投げるのもサクッとそのへんの GAS 用 Twitter ライブラリ使って置き換えて、あと他のショッピングサイトの注文履歴にも対応したい。

Trackbacks

Comments

Comment form