• 締切済み

初心者がPHPでクローラーを作るには

プログラミング歴は、20年以上前にマイコンBASICマガジンのプログラムを見よう見まねで打ち込んだことがある程度の素人です。 競売物件情報http://bit.sikkou.jp内の情報を蓄積し、自分自身のみが利用するデータベースを自作しようとしています。 手始めとして「いきなりはじめるPHP」を読みました。その内容はよく理解できたので「PHP クローラー」とググってみましたが、「ライブラリ導入?」「競売サイトはJavaで書いてあるみたいだけど、どうやってクローラーにボタンを認識させるの?」といった状態です。 このステップを跳び越えるためにアマゾンでPHPの本も探してみましたが、これといったものを見つけることができません。 どのように勉強していけばいいでしょうか。 よろしくお願いします。

みんなの回答

  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.1

非常に肝心な観点があります。おそらくそれをご理解できていないと思います。 マイコンBASICなんていう雑誌で書かれていたことは、パソコンにプログラムを与えて動かす話だったでしょう。 主語は1つであって、頭を動かしているのはパソコンだけでした。 いま、それと大きく違うのは、頭が複数あるということです。 サイトの情報を取る、なんていうことを考えたら、サイトのサーバーがいます。そしてこちらがブラウザ―だったりサーバーだったりするのです。 自分のサーバを起動するためにはブラウザからトリガーを与えなければいけません。頭が一つ必要です。 それを受け取って動作するサーバーはもちろん頭を持っています。 サーバーから問い合わせを受ける他人のサイトのサーバーも、もちろん頭を持っています。これだけで3つ頭があります。 だとすれば何をしなければいけないか。 シーケンス図を描かなければいけないのですね。 マイコンBASICも、組み込み回路なんかの記事では話題として出ていると思いますが、明快に描く必要があるのはWebの特色です。 送った信号に対して何がくることを期待するか、受け取って期待通りでない場合はなぜそれが起きるかの想定。 期待通りでないときは自分はどういう行動をとるか。 来ない、という判断を何で行うか。来ないならどうするか。 このへんがシーケンス図で考える核心ですね。 信号を送る、とか、その信号を編集する、というのはサブルーチンというよりは、イベント処理です。 ということは、イベントを意識する必要があり、受け取るミットが必要になります。 ある主語が、どういうとき何をするのか、を検討するのは、ステートマシンという考えかたです。 ひとつのボタンのやる仕事はシンプルなはずですが、やることを全部設計しきっていないといけません。 ここでクラス化の意識が明確になります。 あとはPHPなんていうのは言語としては簡単きわまりないものですから、大丈夫です。 問題は土台をきっちり設計できているか、です。 もし書物で学びたいのであれば、UMLの本をお読みください。

molytack
質問者

お礼

やりたいことをいかに設計図に起こしていくこと、主語をはっきりさせて処理のやりとりを設計するということでしょうか。 まずは紙とペンで図を書くことから始めようと思います。 どうもありがとうございました。

関連するQ&A

  • PHPとかperlとかrubyとか

    質問させていただきます。 プログラミング言語を学ぼうと思っています。 ありがちな質問ですが、言語の特徴などを伺いたいと思います。 PHPはWEBに特化した言語だと聞きました。 あとperlはテキスト処理だけでどうも、、、って話も。 rubyはまだプログラムの話で出てこないことも多い。 やりたいことがあっての言語なのは承知しています。 WEBやデータベース、スタンドアロン?の簡単なソフト開発とか、いろいろやりたいことは多いです。 最初に目をつけた敷居が低いとされるWEBに特化したPHPはソフト開発には向かないらしいし、偏ったものもどうかと思ってます。 でも次の言語にJAVAを考えていて(JAVAは習得が難しいと聞きましたので)、PHPはJAVAに多少似ているってどっかのサイトで見ました。たぶん賛否両論はあるでしょうが。 別にWEBプログラムだからってperlでもrubyでもできるんですよね?だったら偏ったPHPよりperl、rubyの方が書いていて楽しいような気がします。rubyの需要はまだ少なそうですし、perlのテキスト処理だけってのもどうなんだろうと思いますが。そこらへんも聞きたいです。 簡単なゲームとか、顧客管理ソフトとか、WEBとかデータベースとか、できれば敷居が低く楽しめる言語があればと思ってます。

  • プログラミングを一から始めようと考えている初心者です。

    プログラミングを一から始めようと考えている初心者です。 将来的にはiphoneのアプリやゲームなどのソフトウェアを作りたいと思うのですが、 まず手始めとしてHP作成から入っていきたいと思いました。 しかし、何の言語から手をつけるべきかわかりません。 まずはHTML、CSS、JavaScript、PHP、JAVA、C言語のうちから選ぼうと思っているのですが、 モチベーションを維持しやすくて、独学でも十分理解できそうなもので選びたいと思います。 情報技術者の資格も取りたいのでJAVA、C言語をやっておくと便利かなと思ったりもします。 ぜひ、みなさんの見解をお聞かせください。

  • 携帯用サイトをデータベースとPHPで作成する際に静

    携帯用サイトをデータベースとPHPで作成する際に静的ページを持たずに、アクセスがあるたびDBから情報を読み込んでページを生成する方法を教えてください。 携帯用サイト作ってみようと思いまして、色々調べているとデータベースを使用して指定したアドレスにアクセスがあるたびにデータベースから情報を読み込んでページを生成すれば、静的ページはいらないという記述を見ましたが、その仕組みをどなたか教えていただけますでしょうか?、またその様なやり方がのっている本やホームページがあればおしえてください。 ちなみにPHPとMYSQLを使用してサイト作成を行おうと思っています。 補足説明いたします、ここで記載しているアクセスのたびに生成されるページはJavaやFlashは使用しないで画像やテキストのみのページにする予定です。

    • ベストアンサー
    • PHP
  • phpファイルをhtmlファイルに組み込む方法について

    phpファイルをhtmlファイルに組み込む方法について はじめまして。 掲題の件に関して質問させてください。 html(cssも含む)で、メールマガジン配信のフォームを作成しました。 名前入力と、メールアドレス入力の欄があり、その下に送信のラジオボタンがある形です。 このような状況で、下のようなhtmlファイルにphpファイルを関連させた後、(下の方法で合ってますか?)サーバーにあげて、 送信の後のページを表示させて、送信されたデータをデータベースに蓄積させるようにするとした場合・・・ 1、~~~.phpの部分は、どのような記述をすればいいのでしょうか?? 2、すべてのファイルをapachサーバーに送信するのでしょうか? 3、dreamweaverでデーターのアップロード含め、可能でしょうか?? <form action = "~~~.php" method="post"> お名前<省略> アドレス<省略> 以上、整理しきれていない部分があり、お手数おかけしますが、 ご教授いただければと思います。

  • Javaは企業向け言語?個人でJavaをやるのはどうか?

    個人の趣味ではJavaでWebアプリやGUIアプリなど作る意味はありますでしょうか(むしろ、その趣味でJavaをやることは向いていますでしょうか)。 また、Javaは企業向けの言語というのは本当でしょうか。そうであれば、個人でやっても意味がないでしょうか。Javaのライブラリは数多く存在しますが、企業がJavaを求めるのはsum社がお金を頂いてサポートするからではないでしょうか。そうすれば、お金のない個人が趣味とか仕事とか、やっても意味がないと思います。お金のない中小企業も同様なことだと思います。 私は今までPHPを学んでいましたが、プログラミングが面白くなり、さらにプログラミングのことが知りたいので、Javaを学ぼうと思います。しかし、個人においてWebアプリケーションはJavaで作るのは他の言語より幅広い可能性があるかどうか見極めています。仮に個人で趣味の範囲でJavaをやったとしても、それは企業にとっては有利なスキルのひとつではないかと思います。 PHPで作れないものはJavaで作れることはありますでしょうか。そういう適材適所の可能性が大きいということでJavaが有利ではないかでしょうか。 私の考え方に対してどう思われますか。皆様のご意見が聞きたいです。

    • ベストアンサー
    • Java
  • DB接続文字列を外部ファイルに書く方法

    データベースの接続文字列は設定ファイル(外部ファイル)とかに 書き出すのが一般的だと聞いたのですがPHPで 一般的(広く普及している)にどうやっているのでしょうか javaだとserver.xmlだったかに接続情報を書いていたような 記憶があるのですが プログラミング初心者ですので細かく詳細に教えてください。 設定ファイルのファイル名は?拡張子は?とかから 細かく教えてください

    • ベストアンサー
    • PHP
  • PHP教本の著者について

    PHPを学習するために、秀和システムから出版されている「Eclipse3ではじめる PHP5 プログラミング入門」という本を買って勉強したのですが、何気なくこの本の著者の略歴に目をやると、次のような驚くべきことが書かれています。 著者名:掌田津耶乃(しょうだつやの) 本名:しょうだきょうこ。年齢:5歳(ちなみに本の発行日は2007年12月25日なので、今は9歳のはず)。 彼女は日本で唯一の幼稚園児テクニカルライターである。プログラミング関係を中心に書籍や雑誌記事などを執筆する傍ら、フリープログラマーとしてJava/PHPなどによる開発も引き受けつつ、さらには情報サイト「All About]にてJavaプログラミングのガイドも行う、と八方美人もとい八面六臂な活動をしている。が、幼児とわかると誰も相手をしてくれないので、やむなく無職の父親が働いていることにして世間を欺いている。この秘密を知るのは本人と君だけである。 本の内容は技術的にもレベルが高く、本のあちらこちらに出てくる文章も、世の中でしばらくは住んでみないと言えないような内容で、とても5歳の少女が書いたとは信じられないようなものです。 これが本当なら、天才的どころではない超人的な少女がいるということですし、もしそうでないならジョークのつもりなのでしょうか。表現、出版の自由があるとはいえ、そのようなことが出版物に記載できるのでしょうか? どなたかこのあたりの事情をご存知ですか?

    • ベストアンサー
    • PHP
  • PHPの入門書について。

    PHPの入門書について。 今回、PHPをちゃんと一から体系的に学びたと考えています。 PHPにはWordPressでWebサイトを構築する中で少しだけふれました。 ※XHTML/CSSは分かります。 とある本ではPHPの入門書には「はじめてのPHP言語プログラミング入門 / 大垣 靖男」が良書であると書いてありました。ですが、アマゾンの評価をみると悪い意見もあります。http://bit.ly/bwOVi6 たとえば、 ・値渡し・参照渡しといった重要事項がごく簡単にしか説明されていない。 ・具体的な関数・メソッドの索引はほとんど省かれている。 ・初心者に勘違いを誘発させるような記述がおおく、また、クラスのオーバーライド等について、実際の仕事の現場で使われるような例はなく、甚だ勘違いを誘発させるような例や言葉で説明されている。 それにこの本は発行が5年も前です。 やはり少し古いのでしょうか。 内容が飛び飛びでも困りますし、情報が古いのも困ります。 もはや僕にはどれが一番適した本なのか分かりません。 僕のような初心者が一から体系的に学ぶにふさわしい入門書を教えてください(><) そして、入門書→初級→中級→上級にレベルアップしていくために良い書籍があれば教えてください! よろしくお願いします!

    • ベストアンサー
    • PHP
  • Access プログラミング

    Accessのプログラミングというのはどの位の難度なのでしょうか?Accessに関しては遊ぶ程度にしか使ったことがありません。プログラミング自体はC++,Java等問題なく、データベースはMySQLをPHPと連動させて、予約システムや在庫管理などを作ったことがあります。 下調べとして、いくつかのHPを見て簡単そうに見えましたが、実際にやってないものでプログラム経験者の方の意見をお聞きしたいです。2日程度の勉強で、なんとかなるものでしょうか?

  • VB, C/C++, JAVAのどれかを選ぶとしたら

    プログラムを学ぶための大学の社会人講座へ行こうと思っていますが、「アプリケーションプログラミング」のコースはVISURAL BASIC,C/C++,JAVAの三つに分かれています。どれが良いと思いますか? 目的は自営業のため、商品や情報など様々のものをデータベース化し、ウェブ上で取引先と共有し使いたいと思っています。(というか、アイデアも漠然としているので、実際にプログラミングを覚えて何ができるか知りたいというのがあります) 私自身はアクセスで簡単なデータベースを作ったり、遊びで簡単なCGIを書いて動かしてみたことがある程度です。よろしくお願いします。

専門家に質問してみよう