WebService::NiigataUnyu 0.06が動作不良になったので取り急ぎパッチ
スポンサードリンク
新潟運輸の荷物配達状況を確認するPerlモジュールWebService::NiigataUnyu 0.06の動作がおかしくなりました。原因は、スクレーピング結果のお問い合わせ番号の後ろに空白が付くようになってしまったことにあります。
こういうのはプログラムの世界ではトリム(Trim)とかいって、入力値などの前後の空白を除去する処理をするのですが、やっていなかったのでした。
実際に稼働しているシステムで不具合が出たのですが、当方Perlのパッケージのビルド方法なんて毎回忘れてしまう故、ちょっとパッケージを作ってCPANに上げるだけの余裕がありませんので、取り急ぎパッチを用意しました。
$ diff -c NiigataUnyu.pm.old NiigataUnyu.pm *** NiigataUnyu.pm.old 2011-04-06 00:31:51.000000000 +0900 --- NiigataUnyu.pm 2012-03-13 23:13:26.000000000 +0900 *************** *** 73,79 **** process '//div[3]/div/div/div[2]/div/table', 'results[]' => scraper { process q{//tr/th/font[text() =~ /お問合せ番号/]/../../td}, ! number => 'TEXT', process '//tr/th/font[text() =~ /日付/ and @size = 4]/../../td', date => [ 'TEXT', sub { s/\s//g; return $_; } ], process '//tr/th/font[text() =~ /時間/ and @size = 4]/../../td', --- 73,79 ---- process '//div[3]/div/div/div[2]/div/table', 'results[]' => scraper { process q{//tr/th/font[text() =~ /お問合せ番号/]/../../td}, ! number => [ 'TEXT', sub { s/^\s*//; s/\s*$//; return $_; } ], process '//tr/th/font[text() =~ /日付/ and @size = 4]/../../td', date => [ 'TEXT', sub { s/\s//g; return $_; } ], process '//tr/th/font[text() =~ /時間/ and @size = 4]/../../td',
このパッチを有効に使っていただける人がどれだけいるかは謎です。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3890
コメントする