はじめに
おはようございます。当ブログにアクセス頂き、ありがとうございます。バイト先のレストランからビールを一箱もらってご機嫌の、たなけんです。
本エントリでは、モニタリング対象のランキングの更新について記載します。
ランキング更新の必要性と処理の流れ
取引が成立した理由を探る為には、出品時のランキングだけではなく、実際に売買が成立した時点のランキングも必要だと考えています。(出品後に人気が出て売れたのかどうかを検証するため)そこで、モニタリング対象の本については、たとえそれが1200位(一括で取得できる上限)以下であっても、日々のランキングを取得する必要があります。
そこで、下記の流れで、ランキング情報を管理します。
- 本日のランキング上位1200を取得
- 前日までの累積されたISBN(ISBNマスタに登録済み)と比較
- 本日のランキング上位1200とISBNマスタとの差分を取得
- ISBNマスタに存在せず、本日のランキング上位1200に入ったものは、ISBNマスタに追加
- 本日のランキング上位1200に存在しないが、ISBNマスタに存在するものは、個別にランクを取得する
ソースコードと解説
ソースコードは下記の通りです。ランキングは商品詳細ページに含まれるため、まずは商品詳細ページにアクセスします。(詳細ページのurlはhttp://www.amazon.co.jp/dp/商品コード(ISBN))順位を含むタグから値を取得、また順位が含まれない場合はnilを設定します。ただし、18禁のコンテンツは直接商品詳細ページにアクセス出来ないため、仮置として-1を設定しています。
技術的には特に新規要素は無く、ただenliveを用いて必要な情報を取得しているだけです。
取得した情報はRDBMSのランキングテーブルに追加されます。
今日の作業は以上。最後までお読み頂き、ありがとうございました。
たなけん(作業時間1時間)
0 件のコメント:
コメントを投稿