• 締切済み

Perlを使って、オークションの落札情報を取得したい

Yahooオークションの出品をし、落札してもらった情報を一括してダウンロードし、出品物毎に間違いなく落札者のメールアドレスを取得したり、落札価格を取得したりして、一覧表を作りたいと思っています。 自分自身の作業ミス低減のためなので、CGI等でWEBに公開する必要はなく、ローカルマシンのPerlやRubyで実行してテキストファイルが吐き出せればよいと考えているのですが、何か参考例などをご存知の方はいらっしゃいませんでしょうか? 自分で考える手順としては... 1.Yahoo!オークションにログオン 2.マイオークションの出品終了分のページを取得 3.HTMLを解析して、一通りのオークションIDを取得 4.オークションごとに出品ページを取得 5.HTMLを解析して、落札者のID,メールアドレス,落札単価を抽出 というように考えていますが、そもそも、考え方が間違っていたりしますでしょうか? Perlで実装する場合のヒント(このモジュールのこんなメソッドを使う)とか、参考になるサイト、手順の誤りの指摘などいただければ...と思います。 ちなみに自分のスキルとしては、Perlのコードをちょっとは書ける様になったかな?というくらいのPerl駆け出しレベルですが、プログラムの基礎知識(ネットワークプログラムは除く)はありますので、何とか情報のポインタでも頂けると幸いです。

みんなの回答

回答No.2

1.perlによるwebサーバとの会話 幾つかの方法が存在しますが.. メジャーなのはLWPパッケージを使う方法でしょう。 リクエストしたURLを取り込むことが出来ます。 2.yahooへの自動ログイン yahooのログイン/ログアウトの管理は、クッキーで管理されていますが、 非ログイン状態から、会員用ページをクリックすると、ログイン要求後、会員ページへ ジャンプします。 このシーケンスを辿らずに、同じ事を1回のリクエストで実現することは、可能ですが、 webクライアントとwebサーバ間のリクエストの動きを理解できて、さらに webサーバのチェックや挙動を理解していなければなりません。 3.ページの解析 yahooオークションシステムが出力するページの様式/パターンを理解できれば 解析自体は、perlの正規表現を使って、実現可能です。 まとめると、1~3はperlで実現可能ですが、それぞれにそれなりの理解が必要です。

回答No.1

マイオークションの出品終了分のページというのを 見た事は無いのですが、CGIで書かれた内容ならば ある程度の法則はあると思います。 正規表現などを使って抜き出す事は可能だと思います。 ただ、オークションサイトのソースを一括で抜き出すのは PERLではムリだと思います。 ソース集めは手動で行わないといけないでしょう。 その後のやり方は、miriorgさんのおっしゃってる通りでいいと思います。 あと、PHPではURLからそのページのソースを 直接開くという事が出来ます。(open()) が、ログインが必要な場合は難しいと思いますが 参考にしてもいいのではないでしょうか。

miriorg
質問者

補足

ご返答ありがとうございます。 質問に肝心なところが抜けていました。 まず、一番問題なのは、Yahoo!オークションのログインなんです。 ログインして、セッションだかクッキーを保持して云々...というところが、ネットワークプログラミングの経験が無いので、全然判らないんですね。 これをクリアする方法や、情報へのポインタなどを頂けると幸いです。

関連するQ&A