タグ

crawlerに関するjazzanovaのブックマーク (3)

  • Kazuho@Cybozu Labs: Q4M Version 0.4 で高速なクローラを書いてみた

    « Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法 | メイン | Japanize for IE バージョンアップのおしらせ » 2008年04月07日 Q4M Version 0.4 で高速なクローラを書いてみた 日、MySQL 5.1 のプラガブルストレージエンジンとして動作するメッセージキューQ4M のバージョン 0.4 をリリースしました。バージョンでは、条件付購読 (conditional subscription) という、特定の条件を満たす行だけをメッセージキューから読み込む機能に対応したのですが、これを使って、クローラを書いてみました。 使い方は以下のとおりです。 # url テーブルを作成 % mysql -p test mysql> CREATE TABLE url ( id int(10) unsigned NOT NULL

  • Perlメモ/Gungho/簡単なRSSクローラ - Walrus, Digit.

    Gunghoでもっともカスタムメイドの機会が多い部品は、プロバイダとハンドラです。「何を取得したいか」「取得してどうするのか」という用途に密接にかかわる部品だからです。ここではサンプルとして、データベースをストレージとした、RSS(フィード)クローラを作ってみることにします。 Gunghoの概要や情報源についてはPerlメモ/Gunghoを参照してください。 このフィードクローラは、次のような動作をします。 データベースに、フィード情報を保持するfeedテーブルとエントリ情報、コンテンツを保持するentryテーブルがあります。 フィードの取得 フィードテーブルから、未取得、または最終取得から1時間経過したフィードのURLを読み出します。 読み出したフィードを取得します。 取得したフィードから、エントリ情報を抽出します。新しいエントリURLがあれば、entryテーブルに追加します。 エントリ

  • mixi Engineers’ Blog » 新RSS Crawlerの裏側

    このブログでは初めましての長野雅広(kazeburo)です。mixi開発部・運用グループでアプリケーションの運用を担当しています。 12月12日よりmixiのRSSのCrawlerが改善され、外部ブログの反映が今までと比べ格段にはやくなっているのに気付かれた方も多いかと思います。この改善されたRSS Crawlerの裏側について書きたいと思います 以前のCrawlerについて 以前のCrawlerは cronからbrokerと呼ばれるプログラムを起動 brokerはmember DBから全件、idをincrementしながら取得し、外部ブログが設定されていればcrawlerを起動(fork) crawlerはRSSを取得しDBに格納して終了 このような設計になっていました。 この設計の問題として、member DBを全件走査するという無駄な動作と、一件一件crawlerを起動するためオーバ

    mixi Engineers’ Blog » 新RSS Crawlerの裏側
  • 1