Xangoというクロウラーフレームワークを使ってみる Xango XangoはPerlで書かれた汎用クローラーフレームワークです。 イベント型フレームワークPOEを使用することにより高速なクローリングが可能です。 実装にもよりますが、単一プロセス内でインデックシングや文字コードの変換等の処理を 同時に行うアプリケーションでも1秒に5~8 URL、1時間で 18000 ~ 22000 URLの処理が行えます。 ドキュメントはperldocのみっぽいので、日本語の情報を残す意味で使い方のメモをば。 相当端折って書いてます。 Xangoを使ったクロウラーを書くには、制御用のにPOEセッションを作る必要があります。 Xangoを制御するためのモジュールを適当な名前で作っておくのがスマートかと思います。 とりあえずセッション作成を行う処理を書きます sub spawn { my $class = s
The Perlbuzz section CPAN Watch is going on an indefinite hiatus. Kirrily Robert, Skud, who has driven CPAN Watch since its start, is moving to San Francisco from Australia, and just doesn't have the time to keep things going. I'll still be keeping you informed about cool new CPAN releases, but instead of CPAN Watch I'll be putting them in the Mechanix section. So, point your RSS/Atom readers over
Perlの学習コスト高いよね、て感じのエントリが目立つのでふと思い返してみると、ぼくは1年前は 救命病棟でいうところのレベル4くらいでした。変数に our をつけると何がどう違うのかわかなかったりしたのを覚えてます。 その後1年、今はレベル8弱ってとこでしょうか。バグレポートはなるべく出すようにしていますが、車輪になりそうで、モジュールはまだ上げてません。 この1年どうやってレベルを上げてきたかなといえば、CPANあさり、これに尽きます。で、これから Perlやるぞって人にもしかして参考になるかもしれないので、ぼくがやってきた自己流の漁りかたを書いておきます。 1. まずはPerlStyleを読み直す miyagawa さんが以前 WEB+DB PRESS で連載していた Perl Style というのを、総集編マガジンで今も入手可能です。これはロギングとか OR マッピングなどの基本的題
Jemplate is a templating framework for Javascript that is built over Perl's Template Toolkit (TT2). Jemplate parses TT2 templates using the TT2 Perl framework, but with a twist. Instead of compiling the templates into Perl code, it compiles them into Javascript. かぜぶろさんや宮川さんがブックマークしてたので気になってちょっと見てみた新着モジュールの Jemplate。なかなか面白いです。Template-Toolkit で記述したテンプレートのテンプレート変数に JavaScript 上の JSON を展開させることができるという
NAME Class::DBI::Oracle - Extensions to Class::DBI for Oracle SYNOPSIS package Music::DBI; use base 'Class::DBI::Oracle'; Music::DBI->set_db('Main', 'dbi:Oracle:tnsname', 'username', 'password'); package Artist; use base 'Music::DBI'; __PACKAGE__->set_up_table('Artist'); # ... see the Class::DBI documentation for details on Class::DBI usage DESCRIPTION This is an extension to Class::DBI that curre
名前¶ WWW::Mechanize - Perlオブジェクト中のハンディWebブラウザ VERSION¶ Version 1.02 $Header$ 概要¶ WWW::Mechanize、あるいは縮めてMechはWebサイトとのやりとりの自動化を 助けます。これはリンク先やフォームデータの送信を含む、複数のページの取得を サポートします。取得したページはそれぞれ解析され、そのリンクやフォームが 抽出されます。リンクやフォームを選択し、フォームを埋め、次のページを取得 することが可能です。Mechは訪れたURLの履歴を保持しますので、これを問い あわせたり再訪することも可能です。 use WWW::Mechanize; my $mech = WWW::Mechanize->new(); $mech->get( $url ); $mech->follow_link( n => 3 ); $m
以下は、他サイトに掲載されている有用なWWW::Mechanize使用例です。 私自身、「Amazon アフィリエイトレポート」を見て、本当にこのWWW::Mechanizeを使おう、と思いました。 Amazon アフィリエイトレポート(blog.bulknews.net)。 WWW::Mechanize を使って bk1 の注文履歴を取得するスクリプト(www.asmate.net)。 mixiの足あとを取得するスクリプト(digit.que.ne.jp)。日記を投稿するスクリプトのアレンジです。 指定したカテゴリの、今日の一覧を取得。 「次のページ」も追いかけて処理します。 use strict; use WWW::Mechanize; my $url = 'http://headlines.yahoo.co.jp/hl'; my $cate_label = 'コンピュータ一覧'; m
いくつか、分かっていることとわかっていないことがあります。 以下に分かっている範囲でのポイントを挙げます。 Timeout for inactivity during Makefile.PL? [0]では0(デフォルト)にする ここでTimeoutを指定してしまうと、完了またはタイムアウトの通知にalarm関数を使います。 alarm関数はActivePerlでは実装されていないため、エラーになります。 makeは、perl -V:makeが返すものを使う makefile.plはperl -V:makeが返すmakeプログラムにあったmakefileを作るようです。 perl -V:makeがnmakeを返す場合、dmakeを使うとエラーが発生します。 これ以外の設定は、実施者の任意で構いません。 私が意識して行った設定は以下のものです。 Select as many URLs as y
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く