トップ 最新

ただのにっき

2015-07-24(金) [長年日記]

宅配トラッカーでTMGをサポートしてみた

なんだかんだでちびちびユーザが増えてる宅配トラッカー、みっともないのでfaviconくらいつけようと思って募集したら@rikuoさんが描いてくれたのでさっそく設定したり。そんな中、TMGという業者をサポートして欲しいというリクエストがあったので調べてみたら、Amazonが最近使い始めた宅配業者(で、すこぶる評判が悪いw)。幸か不幸かうちに荷物を届けてもらったことがないので、あいにく生きた伝票がなくて対応できない……と思ったらサンプルをくれた方がいたので、軽く実装してみた。

というか軽くいけると思ったものの、Amazon用の検索フォームが簡単にスクレイピングできなくて、もう面倒臭いのなんの……。いろいろエラーを吐かせたあとでセッションCookieが必要なことがわかって、なんでたかが検索フォームでCookie必須なんだよもー。しかもこれ、新規アクセスの度にセッションCookieが発行されるから、伝票番号ごとに新規セッション作ってたらLibrahack事件の二の舞いになりかねないし……セッションを使いまわさないとあかんやん。

で、いつものようにMechanizeに頼ってもいいのだけど、せっかく今回はFaradayを使っているので何かいいのがないかと探したらmiyagawa/faraday-cookie_jarが見つかったので利用した。あれ、miyagawaさんのじゃん。これで素直にいくかと思ったらadapterにnet_httpを使おうとしたらrequestをurl_encodedしないといけないとか、Faradayの抽象化もけっこう穴があるのだなぁ……。

そんなわけで面倒くさくなってしまったので、詳細画面をスクレイピングするのは当面やめて簡易版でサポートすることに。まぁちゃんと動いているようなので良しとする。