amazonのWEBサービスや、グーグルのAPIの公開によって、各個人がWEB開発をしやすくなったと聞きました。


ところで、
http://www.rakutool.jp/
「楽天アフィリエイト・らくらくツール」

http://www.e-shinamono.com/ads/mkads.cgi?ind=rc
「[e-shinamono.com]アフィリエイト広告サービス」
のように、楽天市場のデータを利用したWEBサービスもあるのですが、確か、楽天市場はそのようなデータを、例えばXMLなどの形では公開していないように記憶しています。

この場合、どのようにして、楽天市場の「ランキング市場」のデータを生成しているのでしょうか?

技術的なことは初心者なので、検討違いだったら申し訳ありませんが、詳しい方でお答えいただければ、嬉しいです。

回答の条件
  • 1人3回まで
  • 登録:2006/05/20 18:56:08
  • 終了:2006/05/27 19:00:04

回答(3件)

id:tsukasa57 No.1

tsukasa57回答回数110ベストアンサー獲得回数202006/05/21 02:08:24

ポイント27pt

rakutool の生成している html を見ると、ランキングの生成は rakutool 側のサーバで行われているようです。例えば、rakutool が http://books.rakuten.co.jp/RBOOKS/best.html を解析して、アフィリエイト用のリンクを生成すれば出来ると思います。

id:kkk-kkk

ご回答ありがとうございます!

疑問に思ったのですが、

http://books.rakuten.co.jp/RBOOKS/best.html を解析して、自動的にデータを生成するなどって、可能なのですか?

可能だとしたら、技術的にどんな形なのでしょうか?

2006/05/21 11:40:18
id:wizemperor No.2

wizemperor回答回数379ベストアンサー獲得回数522006/05/21 13:40:20

ポイント27pt

簡単に言うと、サーバーサイドスクリプトを使用して、該当するサイトのHTMLを取得・解析・HTMLを生成しているものと思います。

具体的に楽天の例を上げてみます。

まず、perl、PHP等のスクリプトを使用して

http://event.rakuten.co.jp/ranking/fashion/index.html

等のランキングページのHTMLを取得します。

取得には、perlならHTTP::Requestモジュール等、PHPならばfopen等を使用します。

HTTP::Request

http://homepage3.nifty.com/hippo2000/perltips/HTTP/Request.html

fopen

http://php.s3.to/man/function.fopen.html

次に、取得したHTMLは楽天のものと同じものですので、これを正規表現で必要なデータを抜き出します。

各データ(商品名等)にマッチさせるのがポイントになります。

後は抜き出したデータとアフィリエイトIDを使って、アフィリエイトURIを合成した後、新たなHTMLを生成します。

表示の設定等はフォームから受け取ったデータをスクリプト側で処理して、HTML生成時に設定に合わせて生成するだけです。

HTMLの生成にはその都度、毎回この処理を行ってもいいですが、cron等を使って定期的に行うようにすれば余計な負荷もかからないと思います。

具体的な実装方法はスクリプト等によって違うので、マニュアル等を参考にされるとよいと思います。

id:kkk-kkk

詳しいご説明をありがとうございます!

とても参考になりました!なるほど、いろいろとできるのですね!ありがとうございます!

2006/05/21 16:24:23
id:tsukasa57 No.3

tsukasa57回答回数110ベストアンサー獲得回数202006/05/21 15:58:36

ポイント26pt

best.html に限らず html は一般的にテキストファイルです。インターネットエクスプローラなら、[表示]-[ソース]を選択すれば内容を見ることが出来ます。

しかしインターネットエクスプローラの場合、best.html をそのようにして表示させると文字化けしてしまいます。なので、firefox というブラウザを使うか、best.html を保存して、文字コードを切り替えることが可能なエディタを使用すれば、日本語も表示させることができます。

その状態で best.html を見ると、ランキングの部分は、ある一定の規則に基づいて記述されています。例えば、『「」という部分の次にある「」と言う部分で囲まれたテキスト内に、1位の書籍名が設定されている』といった具合です。

規則がわかればプログラムを記述して該当する書籍名やその書籍に該当する URL を抽出する事が可能です。

上記のようにすれば、自動的に書籍データを生成することができます。ただし、先に挙げた「規則」は誰かが決めたものでもなく、「ただ、現在の best.html を見るとそのようになっている」にすぎません。ですから、楽天がデザインを変更すれば「規則」も変わってしまいます。従って、常に正しいデータを取得できるとは限りません。

尚、ここで回答した内容は技術的な話にすぎません。取得たデータを使う場合は、著作権などの法的な問題も絡みます。これについては注意が必要です。

id:kkk-kkk

再びのご回答をありがとうございます!

とても参考になりました!

2006/05/21 16:24:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません