はてなRSSやMyRSSなど別のサイトの情報を定期的に巡回して情報を集めていますが、これらのクローラは何言語で作成されているのでしょうか?


やはりWebサービスだから単純にPHPやPerlなどで組んでユーザーがアクセスして瞬間に情報を取得しているのでしょうか?

それともCやJavaなどでクローラを組んでプログラムが自ら定期的に情報を収集しているのでしょうか?

Googlebotなどの大規模な件ではなくちょっとしてWebサービスのために軽く情報を収集するためのクローラを前提にお願いします。

技術的な見解の元、アンサーお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/03/04 15:30:17
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:ToMmY No.1

回答回数656ベストアンサー獲得回数19

ポイント35pt

http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS

PHPで組めますよ

RSSはXMLファイルですので、それをPHPが読みに行って、その結果をHTMLとしてユーザに出力します。

XMLにはヘッドラインや全文など、設定によってさまざまな情報がありますが、それを取得し、ユーザが見やすいように加工して出すのがプログラムの主な仕事です。

id:esecua

↓のような回答をお願いしますね。

2007/02/25 16:50:27
id:b-wind No.2

回答回数3344ベストアンサー獲得回数440

ポイント35pt

はてなRSSは「RSSリーダー」で、MyRSSは「RSS生成サービス」なので方向性が真逆だと思うのですが。


どちらにせよこういう Web サービスの場合アクセスした瞬間に逐次情報を取得する事はまずありません。コストがかかりすぎますから。

検索エンジンの bot 等と同じく定期的に対照のデータを取得して、パースした後自前のデータベースに蓄積するパターンが多いと思います。


RSS の情報でしたら単に RSS パーサーを使用しますし、RSS を提供していないサイトから情報を収集するには「スクレイピング」というテクニックを使います。

進化する“Webスクレイピング”技術の世界 − @IT

はてなアンテナや MyRSS はこちらですね。

これらの処理は特に言語に依存する部分ではないのでそれぞれのサービスで思い思いの言語を使っています。

はてなの各サービスの場合は Perl でクローリングでしょうね。

id:esecua

Perlで作成させた場合、どのようにして定期的に巡回させているのでしょうか?

単にcronを使用しているのでしょうか?

それともwindows機からURLを指定したブラウザをスケジュールソフトウエアで毎回実行している形なのでしょうか?

2007/02/26 06:26:09
  • id:b-wind
    >単にcronを使用しているのでしょうか?
    単に cron 、もしくはその類のスケジュールソフトでしょう。
    Perl は別に CGI 用の言語じゃないんで、ブラウザを介在させる必要はありません。

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

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

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

回答リクエストを送信したユーザーはいません