Home > AppleScript | FileMakerPro | Perl > FileMaker Pro + AppleScript で Perl

FileMaker Pro + AppleScript で Perl

FileMaker Pro + AppleScirpt + Perl

FileMaker ProのWebビューアーを使ったスパイダリング(HTMLの収集)に限界が来たので、Perlでの開発を現在行っている。
HTMLのダウンロードという意味では、Perl等をかましてレンダリング・目的のHTML以外(画像等)のダウンロードを行わせないようにすれば、さほど変わらないのだが、スクレーピング(HTMLを分解し、必要な情報のみを抽出)は桁外れにPerlの方が早い。

ということで、FileMaker ProAppleScriptPerlという流れで情報収集を行っている。

FileMakerからAppleScriptを実行する方法はスクリプトステップの「AppleScriptを実行」というのは説明するまでもないか?w

AppleScriptからPerlを実行する時はdo shell scriptを使う

do shell script "perl 〜.pl"

“”の間はターミナルで実行している命令と一緒。

perlを実行する手前でcdコマンドを実行したい時等は、

do shell script "cd ./Document/; perl 〜.pl"

というに、セミコロン(;)で区切って複数の命令を書く。

PerlをTerminalから実行する時、色々とメッセージを返すようにしていたとしても、コマンドの実行が終わるまで基本的に何も出来ない。
なので、基本的にlogとしてデーターを残すようにしている。

do shell script "cd ./Document/; perl 〜.pl > 〜.log"

 

もうちょっと、AppleScript

作ったperlのスクリプトではLWP::UserAgentを使っているのだが、1ページダウンロードに通常1秒〜1.5秒かかっている。
ただし、何故か分からないのだが、同じスクリプトを2コ同時に実行すると、実行して少し経ってから1ページのダウンロードが0.3秒〜0.7秒にまでスピードアップする。

スクリプトを2つ実行することで、結果的に2倍のスピード!
──というのならばまだ分かるのだが、スクリプトを2つ実行することで、4倍以上のスピードが出るのは何故だ?
ちなみに、2つ実行してスピードが速くなった後に、片方のスクリプトを停止しても、1ページのダウンロードが0.3秒〜0.7秒というスピードは変わらない。
※通常1秒間に数ページみに行くのは相手側のサーバーに負担になります。マナー違反になるので注意!

1つのドメインに対してのみ現在は行っているので、もしかすると相手側のサーバー側の問題なのかもしれないが謎だ…。
お分かりになる方いらしたら、是非教えて頂きたい。

とりあえず原因は不明だが「なら、2つ以上のPerlを同時に動かせばいいのか!」という結論に至り、バックグラウンドでdo shell scirptを実行出来ないかと調べてみると、アップルのテクニカルノートにあった。do shell script in AppleScript

do shell script "perl 〜.pl > 〜.log 2>&1 &"

とすれば良いらしい。
これを上手く使えば、分割処理が出来るので更なるスピードアップも望める!

さらに色々調べていると面白そうな記事を発見!
AppleScript で Perl に GUI をつける

これは、かなり勉強になりそう。後日挑戦してみたい。

Comments:1

****** 10-02-25 (木) 13:24
このコメントは管理者の承認待ちです
Comment Form
Remember personal info

Social Bookmark:0

add to hatena (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

Trackbacks:0

Trackback URL for this entry
http://zero-code.com/2008/05/17/filemaker-pro-applescript-%e3%81%a7-perl.html/trackback
Listed below are links to weblogs that reference
FileMaker Pro + AppleScript で Perl from ZERO-CODE

Home > AppleScript | FileMakerPro | Perl > FileMaker Pro + AppleScript で Perl

Flickr

By Erik Rasmussen
RSS はてなダの最近の記事
META

Return to page top