- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 400円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 490円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 100円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 600円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 300円
doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍
ひとは間違いを犯すのだ
「絶対」なんてことはありえないんだけど、世の中これだけは「絶対」と副詞をつけても正しいのが「人間は絶対に間違いを犯す」
いや、別に倫理的とか哲学的なとかメタな話じゃなくて、単純なミスの話。だ。
人間のやることだ、ミスは必ず起こる・起こす。
ミスを起こさないための方法を100通り考えるヒマがあったら、ミスが起こった後にフォロー・リカバリする方法を10通り用意する方がよっぽど効率的で健全な判断だろう。
その方法はシステム的なことかも知れないし、担当者を温泉に連れこむような人的力技かも知れない。
わたしは自分の仕事を信用してないのでミスがあることを前提に、仕事の後のチェックやミスの早期発見の方法をまず考える(自分でやるのか、他人にまかせるのかはおいといて)
てことで、やっと今日の雑記の小ネタ本文はここから。無駄な前振りが長いのは年寄りなので勘弁してもらおう。
データベースへの登録作業。
登録したデータはサイトに表示されて…ネタは商品ページにありがちなスペック表みたいなシロモノ。
リンゴのページにはリンゴの表となって表示される。
名前 | リンゴ |
---|---|
値段 | 300円 |
産地 | 余市 |
ミカンのページにはミカンの表となって表示される。
名前 | ミカン |
---|---|
値段 | 200円 |
産地 | 愛媛 |
データベースを直接覗けるならSQL文一発で入力項目のチェックができるんだけど、いかんせん、管理画面でしか使えない。
入力したものを確認するにはリンゴのページを開いて確認し、ミカンのページを開いて確認し、とページの数だけ開いて確認する必要がある。
これはいくらなんでも面倒くさい。ミスを放置しろといわんばかりだ。
なもんで、あちこちのページにあるHTMLの単純なTableを一覧したい。ということで例によってperlの出番。
まとめてこんな表にすれば、いちいちページを開く必要がなく確認がらくちんだ。
名前 | 値段 | 産地 |
---|---|---|
リンゴ | 300円 | 余市 |
ミカン | 200円 | 愛媛 |
当然perl には HTMLを解析するモジュールが用意されていて
HTML::TreeBuilder
HTML::TagParser
Web::Scraper
ちょっと調べた限りではこの3つが定評もあって使いやすそう。
ただ、今回はTableの項目を引っ張りだしてひとつのTableにするだけ、タテのものをヨコにするだけなので現物合わせ「オレオレscript」で作った。
lwpで各ページのHTMLを取得してその中から必要なtableを探してバラしてhashに収納して一覧表にして表示する。
今日の雑記はここ。tableをバラして収納するところ、ていうかこれだけ。
perlの正規表現のeオプションは強力でいろんな状況で使える。てか、式に使えるんだからなんでもありだよなあ。
hashに入れてしまえば後はどうにでも加工できる。
…にしても、本当にperlはすげー。
私立文系まっしぐらでプログラムなんて全然知らない・経験や訓練もないわたしでもそれなりに使えてしまう。日々の仕事でなんでこんなこと、てな単純な繰り返しや、ちょっとした条件分岐を入れればすむだけ、というような場合にperlはスイス万能ナイフ的に使える。
人間が1000回コピペすると3回ぐらいはミスをするけど、perlでスクリプトにしてしまえば間違いは犯さない。
これから何かひとつプログラム言語でも、というかたにはperlをオススメ。
ぶっちゃけ、perlがあるおかげで仕事でも趣味でもいろいろ本当に助かっている。
競馬の、馬券のデータ集計のために使うようになったAWKからperlに辿りついたわけで、競馬に感謝するしかあるまい。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」