自作webクローラーの実行サーバ

このQ&Aのポイント
  • phpで自作のクローラーを作成し、とあるサイトの詳細ページの情報のみを取得する。どのようなサーバが適しているか?
  • サイトの規模はGoogle総インデックス数で300,000件程、詳細ページ数は60,000件程。共有サーバではバッチ処理がkillされる可能性があるため、専用サーバが望ましい。
  • コストを抑えたサーバの選定方法について、知識のある方からのアドバイスを求めている。
回答を見る
  • ベストアンサー

自作webクローラーの実行サーバ

phpで自作でクローラーを作成しました。 とあるサイトのすべてのページを徘徊し、詳細ページの情報のみ取得してくるといったものです。 ちなみにphpのhtmlsqlを拡張して作成しております。 phpスクリプトでの実行時の想定最大使用メモリ数は512Mほどあれば足りるといった感じです。 ■サイト規模 google総インデックス数:300,000件程 詳細ページ数:60,000件程 そこで質問なのですが、このような重い処理を実行する場合に搭載するサーバはどのようなものがいいのでしょうか? おそらく共有サーバですと、サーバ管理会社側にバッチ処理をkillされてしまうかとおもうので、 専用サーバなどになってしまうかと思ってします。 できるだけコストが安いサーバを希望しています。 どなたか知識のある方いらっしゃいましたらご教授いただけませんでしょうか。 どうぞ宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.1

中古パソコンを買ってきて自宅で動かすってのはどうでしょう。

ok_taro
質問者

お礼

ご回答ありがとうございます。 安かったのでさくらのVPSでやることにしました!

関連するQ&A

  • SQLサーバーのジョブでのexeファイル実行について教えてください。

    SQLサーバーのジョブでのexeファイル実行について教えてください。 FTP転送を行うバッチ(拡張子bat)を作成しexeファイルに変換してから SQLサーバーのジョブから実行しようと思っています。 batファイルからexeファイルへの変換は WindowsのIExpressとBat_To_Exe_Converterというツールを使用しました。 SQLサーバーにジョブを作成してバッチを実行させようとしたんですが batファイルのままであれば実行できるのに、exeファイルで実行させようとすると ジョブが実行中のままになり止まってしまします。 exeファイルは直接実行させると想定の処理が実行させるので 壊れていることは無いと思います。 原因の検討がつかず困っています。 些細なことでもいいので何か教えて頂ければと思います。 宜しくお願いします。 尚、exeに変換するのはバッチファイルの中身を見せないようにする為です。

  • Webから日本語取得、無難なクローラーは?

    言語処理のために大量の日本語文章が欲しいです。 Webから取るのが現実的的かとおもっており、クローラーを使おうと思っています。 各ページ1回だけで、取ったら更新はほぼしません。 取得対象に影響を与えない事を優先したいです。 オススメのクローラーがあれば教えてください。 取得先の情報で分類出来るとうれしいです。 取得はlinuxサーバから行う予定です。

    • 締切済み
    • SEO
  • javascriptでサーバ上のActiveserverPageを実行

    javascriptを使って、サーバ上のActiveServerPageの処理を実行することは可能でしょうか? 想定しているのは、クライアントがページを表示させた時に onloadかなにかでJavascriptの関数を起動し その関数上でhttp:///・・・・.aspファイルを実行のようなイメージです。

  • cronが最短20分のサーバーで毎分実行するには?

    CPIの共有サーバ上でWEBシステムを組んでいます。 一部の重たい処理を裏でバッチで処理する設計で 毎分cronでphpを実行させるつもりで設計しており ローカルのテスト環境ではうまく動いているのですが・・・ CPIのcronの仕様を見ると最短でも20分に1回しか処理を実行できないようです。 普段共有サーバーを使うことがあまりないのでそんなトラップがあるとは夢にも思わず 納品間近なので回避策を検討しているところなのですが・・・ 以下のような2パターンを考えてみたのですが 実際にこのような処理を実行したことがある方はおられますでしょうか? あるいはもっといい回避策があれば教えてください。 ◆パターン1 php内で0分~19分スリープさせるphpを計20個作成し それを20分ごとに実行するcronに全部登録する。 ◆パターン2 20分に1回実行するPHPを登録し PHPの処理終了後1分スリープしてから再度実行を20回繰り返す。 ■懸念点 どちらのパターンでもPHPのスリープを大量に使う処理を今まで書いたことがないので 安定して動くものなのかが心配です。また20分に1回しか許可してないのはCPIの負荷対策かな?と思うのですが 上記のような無理矢理な回避策をしてCPIに怒られたりスレッドを強制終了されたりしないかな?ってのも心配です。 正直 サーバーを別のとこに変えてください、、、とお願いしたいところですが 今回初仕事のお客さんだし他のシステムも動いてるサーバーなんでそういうわけにも行かず。。。 一応サーバーの仕様で無理なので20分に1回って仕様で納得してください、って説明準備もしつつ 無理矢理でも技術的に回避できないかな?と質問してみました。 よろしくお願いいたします。

  • クローラーをPHPで作る方法

    クローラーをPHPで作るにはどうすればいいのでしょうか。具体的な使用方法としてはケンコーコムの商品ページ(写真・テキスト)を加工したサイトを構築するためのデータ集めです。どなたかご教授下さい。

    • ベストアンサー
    • PHP
  • クローラーがhtaccessでリダイレクト

    現在、WEBサイトを作成しており、当該サイトは、レンタルサーバーを借りる際にhttpのドメインも一緒に新規で取得しました。 ただ、その後、全ページ https で作成していくこととなり、各リンクは全てhttpsでつながっています。 検索エンジンからTOPに入ってくるときに、httpならば、httpsにリダイレクトするように、htaccessに記述していました。 しかし、昨日、googleにサイト登録して、本日まで待ってみたところ、ウェブマスターツールの 「クローラーエラー」と「検索クエリ」はまだ反映されていませんでした。 以前は単純なhttpのサイトですと、1日程度で何かしら反映されていたと思うのですが、 やはりなにか設定が足りないのか、それともクローラーは、htaccessのリダイレクトを読み込まないのでしょうか。 どなたか体験されたことのある方がいらっしゃいましたら、教えてください。 よろしくお願い致します。

  • phpをWEBサーバー上で実行できない

    現在,WEBサーバー上でコンタクトフォームを作り,PHPでメールに送信したり, ありがとうページにうつるプログラムを書いています。 内部サーバーで構築した時には,問題なく作動したのですが, WEBサーバーにうつしたところ 動かなくなってしまい,困っています。 具体的には, phpの内容がテキスト形式で表示されるだけで実行されません。 Apacheの設定かと思い,Apacheに設定したところ, ダウンロードを要求されるようになってしまいました。 ちなみに,OSは Scientific Linux release 6.1 (Carbon) です。 フォルダや,実行ファイルの権限は755に変更しています。 Apacheには, http://www.adminweb.jp/apache/php/ を参考にして情報を入れてみたのですが, 1.Windowsでないので,モジュールが無い(もしくは見つけられなかっただけ?) 2.PHPIniDir "c:/php"に従って,php.iniがある"/etc"を入力するとエラーが出ます。 ちなみに内部サーバーではApacheに設定をしなくても動作をしていました。 内部サーバーのOSはRed Hat Linux release 6.2 (Zoot)です。 もしかしたらOSの違いもあるのかと思ったのですが,そんなことはありうるのでしょうか。 原因となるような手がかりを教えていただければ幸いです。 よろしくお願いします。

    • 締切済み
    • PHP
  • Windows Server 2003 上の実行ファイルをリモートから実行する方法

    運用管理サーバから同じネットワーク内に接続されている Windows Server 2003 上の実行ファイルをリモートで実行したいのですが、できれば標準機能でこれを実現する事はできますか?(ターミナルサービス?rexec?) ここでいう実行ファイルとはバックアップ用のバッチファイル(exe かもしれません)だったりといった小さなツールを想定しています。 運用管理サーバが UNIX(Solaris)の場合と Windows Server 2003 だった場合でそれぞれいい実装案があればご教授頂きたいです(関連 URL の提示くらいのヒントでも構いません) リモート実行したツールがうまく実行できたかどうか(戻り値の取得?)とかネットワーク的なプロトコルはどうなるんだろう・・・とか、そんな細かいところまでまとめて説明しているページがあれば嬉しいのですが・・・

  • プログラムが実行されない?

    困っている内容を、簡単な例えで説明します。 PHPで「あるフォルダ内のwavファイルから、wmaとraファイルを変換作成する」 というプログラム(musicfile.php)を作り、バッチの実行ファイルを作成しました。勿論、変換に必要なexeは用意してあります。 バッチファイルの内容は『php musicfile.php』という単純なものになると思います。 さて、このバッチのショートカットを作成し、ブラウザ画面のボタンからそのショートカットを実行するように設定したのですが、思うように動作しません。 おかしいと思い、コマンドプロンプト画面から実行してみると、正常に動作します。 全く原因が解らないのですが、これはプログラムの記述が悪いのでしょうか? それとも、PHPの実行する環境(php.iniやApacheの設定)が悪いのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 数百ものプログラムを同時に実行するには?

    並行処理の事を考えています。 初期のGoogleは1台のコンピュータで300ものクローラーを同時に動かしていたというようなことをある記事で読んだ記憶があります。 その事を思い出して考えてみたのですが、実装の方法が思いつきません。 例えばCなどのプログラミングでも、PHPなどのスクリプトでも、forkを使用すれば(for文などの中にクローラ用の関数入れてopenMPなどでも出来るかも)可能かもしれませんが、それだと処理が全て終わるまで待たないといけないのと、エラーがあった時の挙動は300も子プロセス使ってると実装が大変じゃないかなと思いました。 逆に、一つプログラムを書いて、cronにて大量に一気に実行する方が簡単じゃないかなと思いました。 でもそれでは終了時に止まって連続的な挙動はしないでしょう。 このような並行処理はどのようにして実行すればいいのでしょうか? forkを使うとしても、いったいどのタイミングで呼び出せばいいのか思いつきません。 アドバイス頂けたらと思います。 クローラーに関する情報が自分の調べ方では出てこなかったのですが、何かいい資料などありましたら、そちらも教えていただけたらありがたいです。 英文サイトなどでも大丈夫です。