タグ

cpanに関するgoto553のブックマーク (171)

  • サイトのクローリングにはScrappyがすごくいいかもしれない - Perl勉強メモ アルパカDiary出張版

    クローリング楽しいですよね! perlで高速にクロールしたいのであればGunghoなど使うのがいいかもしれませんが、 基手軽にやりたいことが多いので WWW::Mechanize+Web::Scraper という組み合わせでクロールするのが定番でした。 しかしたまたま Scrappy を知り、 少し触ってみたところすごくいいのではないか!?と思い 記事にしてみました。*1 基系(crawlコマンドを利用する場合) my $scrappy = Scrappy->new; $scrappy->crawl('1.クロールするルートURL', '2.URLにマッチするパス' => { '3.コンテンツにマッチするxpath or CSSセレクタ' => sub { my ($self, $item) = @_; # 4.キューに追加 $self->queue->add($item->{href

    サイトのクローリングにはScrappyがすごくいいかもしれない - Perl勉強メモ アルパカDiary出張版
  • Email::MIME::CreatorとEmail::Sendでメール送信 - Scrapcode@はてなダイアリー

    いつもはMIME::Liteを使うけど、他のモジュールも検討してみようとEmail::MIME::CreatorとEmail::Sendを使ってみます。 「メールの送信 - モダンなPerl入門 - モダンなPerl入門」を参考に、charsetとX-Mailerも指定します。 #!/usr/bin/env perl use strict; use warnings; use utf8; use Email::MIME::Creator; use Email::Send; use Encode; MAIN:{ my $mime = Email::MIME->create( header => [ From => '#####@####.###', To => '#####@####.###', Subject => Encode::encode( 'MIME-Header-ISO_2022

  • mixiと私 - tokuhirom's blog

    https://github.com/tokuhirom/mixi2gmail/blob/master/mixi2gmail mixi日記のスクレイピングにながらく plagger をつかっていたのですが、そのためだけにつかうにはちょっと大仰すぎるというのもあって、回帰してオレ専用 mixi2gmail をかいた。 依存しているモジュールは以下のとおり。WWW::Mixi::Scraper がなんといっても命で、charsbar++ といわざるをえない。 requires 'WWW::Mixi::Scraper' => 0.30; requires 'Email::Sender'; requires 'Config::Pit'; requires 'DBD::SQLite'; requires 'DBI'; requires 'Mouse'; requires( 'Net::SMTP::

  • にひりずむ::しんぷる - HTML::Filter::Callbacks の紹介

    追記あり Yuji Shimada / HTML-Filter-Callbacks - search.cpan.org charsbar さんにパッチを送ったら、「commit bit 付けたから自分でリリースしてちょ」って言われたので、先ほど 0.07 をリリースしました。 それはさておき、このモジュールについての情報があんまり世の中に無いようなので、いい機会なので紹介しようかと思います。 このモジュールを使えば 不要なタグの除去 url の変換 属性の追加、削除 text の置き換え などなどが簡単にできます。 似たようなモジュールとして、HTML::Scrubber というのが昔からあって、よく使われてますが、長年メンテされていなかったり*1、インターフェースがとてもわかりにくかったり*2して、今から使うのは気が引けますが、HTML::Filter::Callbacks は大変直感的

  • Data::Validatorでバリデーションする - Articles Advent Calendar 2010 Casual

    はじめまして!@hisaichi5518です。就活生です。誰か雇ってください。 Text::Xatenaについて書こうと思っていたんですが、もうText::Xatenaの記事が他のトラックにあるので、今日はgfxさんによってリリースされたData::Validatorを紹介しようと思います。 Data::Validator とは 実行時型チェック / パラメーターチェックが出来る便利なモジュールです。 現在、Params::Validateがデファクトスタンダードっぽいんですが、速度が遅かったりするので正直微妙です。 ベンチマーク p5-Data-Validator/benchmark/simple.pl Params::Validate/0.95 Smart::Args/0.06 Data::Validator/0.06 without type constraints Rate P::

    Data::Validatorでバリデーションする - Articles Advent Calendar 2010 Casual
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • Twitter ボットの作り方 Perl 編 (目次)

    一通りの連載が終了したので、最後になりますが、各エントリに簡単な説明を付けた目次を別エントリとしてあげておきます。 Twitter ボットの作り方 Perl 編 (1) ボット作成の前提となる基的な機能の動作確認を行います。この部分がうまくいかない場合、そもそもボットを作成する環境が整っていない事になるので重要です。 前書き 目標 用意するもの 方針 下準備 Twitter ボットの作り方 Perl 編 (2) 単にランダムにつぶやくだけの簡単なボットを作ります。cron に登録することで当の意味でボットとして活動可能になります。 状態ファイルの準備 データの準備 実際のスクリプト cron への登録 Twitter ボットの作り方 Perl 編 (3) Twitter 検索を組み合わせて、ボット宛のつぶやきを処理する方法を解説します。このテクニックは様々なタイプのボットで応用出来ます

    Twitter ボットの作り方 Perl 編 (目次)
  • DBIx::Skinny - JPerl Advent Calendar 2009

    DBIx::Skinny - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな?

  • 【CGI・Perl】SHA1の値を取得する

    CGI・Perl例文集 CGI(Perl)のサンプルプログラムをコピー&ペーストで使える便利集! « エラーを表示する | メイン | 実行されたSQLを自動的にログへ記録する (PostgreSQL) » カテゴリー:メッセージダイジェスト(ハッシュ)  SHA1の値を取得する MD5などよりも安全性の高いと言われるSHA1の値を取得したい。Digest::SHA1モジュールを用いればあっという間に実現できる。 Digest::SHA1モジュールには三種類の関数(メソッド)が用意されており、用途によって使い分けることができる。 ;# ;#SHA1の値を取得する ;# use strict; use Digest::SHA1 qw(sha1 sha1_hex sha1_base64); #-- 文字列設定 --# my $str = 'sushi geisha tenpura'; #--

  • Email::MIME::MobileJPで文字コードまわりに気をつかわないでメールの送受信をおこなう - Articles Advent Calendar 2010 Hacker

    メール関係のモジュールをとりまとめて、カジュアルにつかえるようにするためのモジュールをかいてみました。 メールの受信(Parsing) メールのパーズは、以下のように、メールの文字列をくわせてやればいいです。 use Email::MIME::MobileJP::Parser; my $src_text = do { local $/; <> }; my $mail = Email::MIME::MobileJP::Parser->new($src_text); メールオブジェクトから Subject をえるには以下のようにしましょう。 ここでとれるものは MIME ヘッダにはいっている情報をもとに、UTF-8 に decode された文字列です。 可能ならば絵文字も decode します。これには [Encode::JP::Mobile](http://search.cpan.org/p

    Email::MIME::MobileJPで文字コードまわりに気をつかわないでメールの送受信をおこなう - Articles Advent Calendar 2010 Hacker
  • Path::Classで簡単ファイル操作 - Articles Advent Calendar 2010 Casual

    こんにちは!モダンPerlの裏側しか知らないkoba04です。 今日は、少し前まで「続・初めてのPerl」を読んでいた自分が、遅ればせながらその便利さに感動して使うようになったPath::Classについてを。(ってもう使ってますよね。。) 多分Casual Trackの中でも最も初心者向けな内容になっているんじゃないかと思います。。 何が便利かというと、「File::Spec」や「File::Path」、「IO::Dir」、「IO::File」、「File::stat」などのモジュールにある関数を「Path::Class」をインターフェイスとして使うことが出来ます。 とりあえず「use Path::Class」でいいので便利ですね! オブジェクトの作成 まずはファイルオブジェクトの作成。(file) use Path::Class; my $file = file('path', 'to

    Path::Classで簡単ファイル操作 - Articles Advent Calendar 2010 Casual
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • 日本の休日をPerlから求める | へぼい日記

    の休日には「国民の祝日」と「振替休日」と「国民の休日」ってのがあるのですがそれをPerlから求めるにはどうしたらいいんだという話。 #perl-casualでたずねたところいろいろと方法を教えてもらいました。 定番ネタだし、それ三週目といわれたりしたのでまとめてみますたという流れ。 そもそも休日というのは法律で決められるものなので、改正もあり最近だと2005年に改正があったりしています。 また、「国民の祝日」の中には「春分の日」や「秋分の日」のように翌年分を2月に官報で発表なんてものもあったりします。 やっかいですね。 CPANモジュールを使う Calendar::Japanese::Holiday 最終更新日が2007年なようですが use Calendar::Japanese::Holiday; say isHoliday(2011, 3, 21); say isHoliday(2

  • Xslate - The fastest template engine for Perl5

  • Text::Xslate がオススメなワケ - tokuhirom's blog

    速いエラーメッセージがとても親切型ベースの自動エスケープ複数シンタックス対応TTerse という TT2 like なシンタックスをサポートしているので TT からの移行がわりと容易Text::Xslate->new(module => ['File::Spec::Function']) のように書くだけで簡単にモジュールの関数をとりこむことができるText::Xslate::Bridge::TT2Like をつかうことで TT の VMethods や Filters をつかえるPure Perl でもうごくというような特徴があるので、よほどの理由がないかぎり今後は Xslate をつかうのが正解なのではないかとおもっている。 実装の小ささや、こまわりのきく点などで Text::MicroTemplate は生き残っていくとおもうが、基的には Perl5 のテンプレートエンジンは Xs

  • ここギコ!: PurePerlを望むのでもない限りはGeo::Proj4使った方がいいんじゃないか?

    2010年09月27日 PurePerlを望むのでもない限りはGeo::Proj4使った方がいいんじゃないか? 今はほとんどPerl使わなくなったので、久々のPerl話題。 位置関係のCPAN modules -TokuLog 改メ tokuhirom’s blog- requires 'Geo::Coordinates::Converter'; 最近だと、このへんつかうかな。俺だったら。 何を基準に選んでるかが判らないのだけど、処理速度を基準に見るなら、「遅い、実装方法がキモい」と言われた俺のLocation::GeoToolしか代替がなかった時代ならともかく、Geo::Proj4が出ている今なら、そっち使っておいた方がいいのでは? Geo::Hash::XS奨めてるんだからPurePerl目指してるわけでもないんだろうし。 と思ったので、ベンチマーク取ってみた。 ベンチマーク条件は

  • 位置関係のCPAN modules - tokuhirom's blog

    requires 'GIS::Distance::Lite'; requires 'HTML::MobileJp'; requires 'Geo::Coordinates::Converter'; requires 'Geo::Hash::XS'; requires 'HTTP::MobileAgent'; requires 'HTTP::MobileAgent::Plugin::Locator'; requires 'Geo::Coordinates::Converter::IArea';最近だと、このへんつかうかな。俺だったら。

  • perl - 勝手に添削 - Webサイト死活管理 : 404 Blog Not Found

    2010年09月01日03:00 カテゴリLightweight Languages perl - 勝手に添削 - Webサイト死活管理 やはり必要以上にゆるいと感じたので。 PerlスクリプトでWebサイト死活管理 - ゆーすけべー日記 リダイレクトはエラー扱いに 以下、問題と感じたところ。 $ua->is_success は300番台でも成立する LWP に限らず User Agent のほとんどはデフォルトではリダイレクト先まで見に行ってしまう このままだと以下のような場合もOKになってしまう。 % lwp-request -S -mHEAD http://www.dan.co.jp/~dankogai/hijitsuzai HEAD http://www.dan.co.jp/~dankogai/hijitsuzai --> 302 Found HEAD http://blog.li

    perl - 勝手に添削 - Webサイト死活管理 : 404 Blog Not Found
  • Perl 非同期プログラミング

    Ohotech 特盛 #10 ( http://ohotech.connpass.com/event/7517/ )で発表した資料です。

    Perl 非同期プログラミング
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記