Perl

ISBNをハイフン編集してJSONPで返すサービスを最新化してみた

Business::ISBNのデータを自分で更新出来たらなとモジュールを眺めるとデータはData.pmにあるらしい use Business::ISBN::Data 20081208; # now a separate module で、Data.pmでどのように持っているかというと %country_data = ( 0 => ['English speaking …

ハイフン無しのISBNを渡すとハイフン付きのJSONPを返すサービスを作ってみた

中身的にはBusiness::ISBN - work with International Standard Book Numbers - metacpan.orgを呼んでJSONPにして返すだけですが、ニッチな需要があるのでw 2008年10月ぐらい?のデータを元にしているので全部のパターンには対応出来ていないのが残念ではあ…

携帯百景でフォロー/フォロワーの差分を取ってみる

一ヶ月の出張予定が二ヶ月になって夏服しかなくてしょんぼりなid:natu_nですが、 長期出張中にドハマりしてるのが携帯百景(ケイタイヒャッケイ)、携帯電話で撮影した写真に文字をのせてwebにアップして、みんなにコメントをつけてもらったりつけたり出来るサ…

WWW::Mechanizeで入力フォームにない項目を送信するには

例えばWebで蔵書検索を行う館で元々ISBN検索出来る機能をフォームを変更することで検索機能を殺している場合に無理矢理Mechで送信すると $mech->select('code_genre1', '2'); $mech->submit_form( fields => { 'code_value1' => $isbn, } ); 当然の事ながら…

図書館の所蔵状況をスクレイピングするスクリプトをWWW::Mechanize::Pluggableを使って書いてみた

以前に図書館の所蔵状況を拾ってくるスプリプトをWeb::Scraperを使うように書き換えるという記事を書いたが、今回更に一歩進んでWWW::Mechanize::Pluggableを使うように書き換えてみた。 WWW::Mechanize::PluggableはWWW::MechanizeからWeb::Scraperを動かす…

県内図書書像マップの関連図書検索のロジックを変えてみた

WebcatPlusにISBNを喰わせて連想検索を行い、それぞれのISBNと書名をJSONで返す部分を書き直した。 以前、Web::Scraperでスプレイプしようとした時に図書情報のページの構造がtableのネストが多く、また書名やISBNの位置がかなり不定なのでちょっとムリかな…

JSON::XSに置き換える その後

とりあえずuse JSONしている所を全部use JSON::XSに書き換えてってJSON.pmアップデートしようぜ作戦が終了しました。 最初1日1県ずつ書き換えてったら6日で終わるんじゃね?と思って始めたのですが案の定同じ単純作業を2回したくない性格なので1県で飽きてし…

JSON.pmの使い方が変わっている件

サーバ側で全然問題なく動作していたJSON.pmが自分のMacBookで微妙なエラーを吐いて動作していなくて、ちゃんと調査したところJSON.pmがメジャーバージョンアップしてた 'objToJson' will be obsoleted. Please use 'to_json' instead. at ./_07202.cgi line…

作る前にCPANを探せ

折角MacBookが手元にあるのに、毎回一々サーバにUploadしてTRY&ERRORというのもかなり馬鹿馬鹿しいなと思っていたが、 当然@NICの位置もサーバと違うのでエラーが無くなった後に書き換えてUploadというのもどうか?という事でほったらかしにしていた。 先日…

XPath式が便利すぎる件

所蔵マップでISBNで検索する時にAWSを使って情報を持って来ているのだけれど、折角だからAmazonの「この商品を買ったひとはこんな商品も買っています」みたいな見せ方で、そのジャンルのトップセールが表示したらどうだろうか?なんてことをふと思った ざっ…

古いスクリプトを見直してみる - 2 -

今日はISBNのハイフン編集編 実際のコード 最初に書いたサブルーチン(を多少書き直したもの) #!/usr/bin/perl use lib '/home/natu-n/perl/lib/perl5/site_perl/5.8.8'; use lib '/home/natu-n/local/lib/perl5'; use strict; use warnings; use Readonly; u…

古いスクリプトを見直してみる - 1 -

最近、ちゃんとしたPerlの本を読み始めたので古いスクリプトを書き直して実行速度と読みやすさを調べてみた。 第一弾はISBN10からISBN13への変換ルーチン 実際のコード 最初に書いたサブルーチン(を多少書き直したもの) #!/usr/bin/perl use lib '/home/natu…