- 締切済み
初心者がPHPでクローラーを作るには
プログラミング歴は、20年以上前にマイコンBASICマガジンのプログラムを見よう見まねで打ち込んだことがある程度の素人です。 競売物件情報http://bit.sikkou.jp内の情報を蓄積し、自分自身のみが利用するデータベースを自作しようとしています。 手始めとして「いきなりはじめるPHP」を読みました。その内容はよく理解できたので「PHP クローラー」とググってみましたが、「ライブラリ導入?」「競売サイトはJavaで書いてあるみたいだけど、どうやってクローラーにボタンを認識させるの?」といった状態です。 このステップを跳び越えるためにアマゾンでPHPの本も探してみましたが、これといったものを見つけることができません。 どのように勉強していけばいいでしょうか。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hue2011
- ベストアンサー率38% (2801/7250)
非常に肝心な観点があります。おそらくそれをご理解できていないと思います。 マイコンBASICなんていう雑誌で書かれていたことは、パソコンにプログラムを与えて動かす話だったでしょう。 主語は1つであって、頭を動かしているのはパソコンだけでした。 いま、それと大きく違うのは、頭が複数あるということです。 サイトの情報を取る、なんていうことを考えたら、サイトのサーバーがいます。そしてこちらがブラウザ―だったりサーバーだったりするのです。 自分のサーバを起動するためにはブラウザからトリガーを与えなければいけません。頭が一つ必要です。 それを受け取って動作するサーバーはもちろん頭を持っています。 サーバーから問い合わせを受ける他人のサイトのサーバーも、もちろん頭を持っています。これだけで3つ頭があります。 だとすれば何をしなければいけないか。 シーケンス図を描かなければいけないのですね。 マイコンBASICも、組み込み回路なんかの記事では話題として出ていると思いますが、明快に描く必要があるのはWebの特色です。 送った信号に対して何がくることを期待するか、受け取って期待通りでない場合はなぜそれが起きるかの想定。 期待通りでないときは自分はどういう行動をとるか。 来ない、という判断を何で行うか。来ないならどうするか。 このへんがシーケンス図で考える核心ですね。 信号を送る、とか、その信号を編集する、というのはサブルーチンというよりは、イベント処理です。 ということは、イベントを意識する必要があり、受け取るミットが必要になります。 ある主語が、どういうとき何をするのか、を検討するのは、ステートマシンという考えかたです。 ひとつのボタンのやる仕事はシンプルなはずですが、やることを全部設計しきっていないといけません。 ここでクラス化の意識が明確になります。 あとはPHPなんていうのは言語としては簡単きわまりないものですから、大丈夫です。 問題は土台をきっちり設計できているか、です。 もし書物で学びたいのであれば、UMLの本をお読みください。
お礼
やりたいことをいかに設計図に起こしていくこと、主語をはっきりさせて処理のやりとりを設計するということでしょうか。 まずは紙とペンで図を書くことから始めようと思います。 どうもありがとうございました。