2008年12月01日

Perlをさわり始める。(File::Find)

2年前の今頃このサイトでもちょっとだけPerlをやったかもしれないけれど

それはレンサバ用という趣旨でローカルも含めてPHPに目が向いていたのだが
使いやすさと柔軟性でCやFlashと併用して使うものとしてPerlを使うことにした。
朝の写真アップ作業の自動化に合わせてとりあえず必要な部分からやっていくことにした。

今回は「File::Find」を使ったファイル名の取得について
それでどうした!......
ラベル:File::Find
posted by Xo_ox at 20:18| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2008年12月02日

ファイル名を引数として渡し処理をする。(@ARGV)

前回の「File::Find」でキャノンのデジカメのメモリーの
ディレクトリーにまたがる写真データを一括変換できた。
今度は複数の選択したファイルに対する処理をしたい。
つまりPerlに引数をつけて起動することということだ。
Xfceの場合、ファイラーthunarのアクションに登録することもできる。

それでどうした!......
ラベル:引数
posted by Xo_ox at 18:45| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2008年12月03日

サムネールファイルの名前をつける。(split,File::Basename)

ファイル関連の部分だけでボリウムが大きくなっているのでImageMagick部分は割愛しているが
前回の続きとして
「選んだファイル名からサムネール名をつける」
という事をやりたい。
これについては基本機能でも選択肢は多くFile::Basenameとsplitを試してみた。
それでどうした!......
ラベル:File::Basename Split
posted by Xo_ox at 23:09| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2008年12月04日

ImageMagick Perl版を使う。(Image::Magic,s//)

まだ機能のほとんどは使っていないのだがPerl Magick
リサイズや色調などなんとか現状必要な機能は使えるようになった。
これを選ぶのはEXIFを残したり取り除いたりできる点が大きい。
前回の引数リストを1/2にリサイズするものの実用版を作った。

サムネール名の生成についはて前回のsplitやFile::Basenameではなく
正規表現置換の s//演算子を使った。
それでどうした!......
posted by Xo_ox at 19:20| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2008年12月05日

Exifによる時間情報の取得(Image::ExifTool,exif,identify)

ImageMagickでのCFからの転送・加工プロセスで画像の日付が加工時のものになってしまう。
ImageMagickにはEXIF取得機能はあるがPerlMagickにはない。
そこでEXIF情報を既存のツールで取得したり時間を修正したりできる方法を模索した。
模索したのだが純粋なPerlのクラスとしてはImage::ExifToolがよく使われているようだ。
これをインストールするとコマンドラインツールのExifToolがインストールされる。
その他返り値を得られるコマンドラインツールとしてはImageMagickの「identify」と「exif」があった。
それでどうした!......
ラベル:ExifTool Exif identify
posted by Xo_ox at 22:37| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2008年12月06日

Perlの現時刻と経過時間(time,Time::HiRes)

PerlというかUNIXの時間は1970/1/1からの経過秒で表される。
ファイル時間は前回のstatで取得できるが
「現時刻」の最低単位が秒ではこころもたない。
調べたところ「Time::HiRes」を使うことで一般的な高精度のタイマー関数が使えることになるようだ。
単位はマイクロ秒らしい。今回はそのうち現時刻と経過時間に関するものを使ってみた。
それでどうした!......
ラベル:Time::HiRes
posted by Xo_ox at 23:10| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2008年12月31日

Flash playerがなくても快適に動画を見る道

youtube_dlの類やURL変換支援サイトの類もあるのだが
動画サイトを低負荷なFLVプレーヤーで再生できると便利なので
ダウンロードするのではなくて直接再生するようにした。

プレーヤーはVLCやmplayerなどもあるだろうがffmpegを使用
ブラウザはfirefoxで「launchy」というアドオンを使いperlを呼ぶ形にしている。
それでどうした!......
ラベル:You Tube
posted by Xo_ox at 21:36| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月01日

youtubeダウンロードーをlaunchyからクリップボード対応に

perlによる
Flash playerがなくても快適に動画を見る道
というのの他にveohやダウンロードだけするものも作っていたのだが
firefoxからアドオンのlaunchyで呼び出すことが前提にしてあった。
それをクリップボード版にすることで汎用性を持たせることにした。
それでどうした!......
posted by Xo_ox at 23:20| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月03日

XML::LibXMLでperlのutf8モードとやらに翻弄される。

XML::Atomは使わないことにして、XML::LibXMLを入れて
ちょっとXMLを作ってテストしようと思ったら
なんか

Wide character in print at libxml01.pl line **

という警告メッセージがでる。
どうもperlの内部にはutf8モードなるものがあるらしい。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月04日

XML::libXMLでAtomのxmlnsでつまづく

libXMLを使う場合、単純なXMLはfindnodesやfindvalueでおっかけていくのだが
youtubeの検索結果を保存してちょっと表示させようかと思ったらなんもでない。

<feed>タグ内のxmlnsを空にしたら表示するので名前空間の問題らしい。
特に名前空間にこだわらない場合は
「findnodes("//*[local-name()='entry']")」のようにしてやると良いことが分かった。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月05日

XML::LibXML::XPathContextも使ってみたが...

ルートのノードにxmlnsがかかれている場合全部ローカルネームとして処理することで
どうにか扱えるようになったのだが
ちゃんとした扱いもしてみたかったので「XML::LibXML::XPathContext」を使ってみたのだが
取得するのはdomでコンテキストはそのまま継承されないので
案外と使いにくいことを悟った。
但し単に方法が検索などでみつからなかっただけかもしれない。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月06日

XML::LibXML::Readerがちょっと気に入った。

LibXMLで最初に検索したときに目についたのがTextReaderなるものだったのだが
取り敢えずDOM操作から入りたかったので後回しにしてみた。
タグ単位で処理していく他名前空間も明示的に扱うので
あまり階層が深くないものはこれで刈り込みながら
必要なところだけ取り込むのが良さそうだ。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月07日

youtubeAPIの穴、ハルヒ最新公式動画にはたどり着けない。

ブラウザでもyoutubeAPIでリンク付きのページを表示できるのだが
角川アニメチャンネルで毎週更新される涼宮ハルヒの憂鬱の新作にはたどり着けないことが分かった。
トップページのmost_discussedとかmost_viewed とかでもでてこなかった。
何か策があるかもしれないけれどわからないがブラウザでは表示できるので
htmlからurlを出すしかないみたいのようだ。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月08日

XML::LibXMLでhtmlを取り込む

XML::LibXMLはXMLでないhtmlもパースできるようだ。
パースエラーがでるのが常だが「recover_silently(1)」を入れれば強引に取りこめるようだ。
utf-8の問題とか配列アクセスとかつくづくperlを分かっていないのだが
htmlパーサーへの入り口にたどり着いた感じがした。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月09日

LibXMLでveohのflvのurlをパース

ブラウザのような一般的なクライアントでアクセスする場合
veohはyoutubeと違ってFLVのURLの書かれているファイルがちゃんとあるので
そこからflvを正規表現を使って取得する方法を今まで使っていたのだけれど
せっかくlibXMLを使ってhtmlまでパースするようになったのだから
ちゃんとXMLとしてデータ取得してみようと思った。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月10日

やっとattributeの取り方を理解する。

ほとんどの関数が名前か番号で指定なので
未知のフォーマットのXMLの場合はattributeの名前と位置が知りたい。
XML::LibXML::Readerではattributeの名前を取得できないみたいなのだが
LibXMLのDomの命令での取得方法のこつをようやくつかんだ。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月11日

結構しょっぱいcURL

まだcookyやrefferer、ログイン等の必要な項目に至っていないのだが
ぼちぼちcURLを使おうと思い、perlにもWWW::Curlを入れたのだが
cgiとダウンロードを前提に作られているのか、標準出力かファイル操作になっていて
変数に取り込んで加工するというような使い方はできないようにみえた。

※openで変数指定ができた。
取り敢えずテストのためのテストだが
WWW::Curl::Easyで取り込んでWWW::LibXMLでパースしてみた。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月12日

curlでメモリへの取り込み(perl編)

curlが原則STDOUTあるいはファイル指定とみえたので
微妙にがっくりしていたのだが
CURLOPT_WRITEFUNCTIONでコールバックを指定することで変数への読み込みができることが分かった。
「/usr/local/share/example/curl/」の「getinmemory」がサンプルになりそうだ。
perlに関してはopen時エスケープをつけることで対象を変数にできることが分かった。
cpanのWWW:Curlの説明は
http://search.cpan.org/~szbalint/WWW-Curl-4.09/lib/WWW/Curl.pm
にあった。
これでlwpの代替として安心してCurlを使える。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月13日

youtubeのコメント取得への細い道

動画プレーヤー作るのに
コメント投稿はまだしもコメント閲覧くらいはできないとまずいだろう。
他に手を出す前にまずはyoutubeを把握するのが先決なわけで
APIの与えられているgdataによるコメント取得をやるならばそんなに難しくはないと思うが
ブラウザで表示できるんだからできないこともなかろうと
developerID無しでできないものか調べてみた。
要するにブラウザーで表示するのと同じ事だ。
ajax用のurlを使えばできそうなんだけれどパースがまだちゃんとできていない。

それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする

2009年07月14日

これでいいのか改行抜いて正規表現でコメント取得

youtubeのレスポンスからコメントを取る方法だが
最初正規表現を使ったらタグではさんでいる文字列が取れなかったのだけれど
ホワイトスペース つまりタブと改行を取り去ることで
どうにかできたような、できてないような。
それでどうした!......
posted by Xo_ox at 19:00| Comment(0) | perl | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。