2014年8月12日 星期二

perl one-liner以mozrepl查詢firefox瀏覽器資料--以標題為例

perl -MNet::Telnet -MEncode -e "$t=new Net::Telnet(Dump_Log=>\*STDOUT);$t->open (Host=>'localhost', Port=>4242);$t->print('document.title');while(1){my $data=$t->get (Timeout=>1);print encode('big5',decode('utf8',$data));}"
  1. 要先裝好mozrepl
  2. 本例在win8上測試正常
  3. encode的部分視所在環境而調整,在ubuntu上完全可以拿掉
  4. 或許你會說,幹麻不用  WWW::Mechanize::Firefox 就好了,問題是它在windows上沒有人 port 啊 XD
  5. 嘗試一下 WWW::Mechanize::Firefox 的 porting 。下載並解壓後,執行 perl makefile.pl ,出現以下錯誤訊息:
    Warning: prerequisite HTML::Selector::XPath 0 not found.
    Warning: prerequisite MozRepl::RemoteObject 0.31 not found.
    Warning: prerequisite Object::Import 0 not found.
  6. 打開 ppm ,安裝上述三個套件。
  7. MozRepl::RemoteObject  可能無法用 ppm 安裝,此時下載該套件的 tar.gz 檔,解壓後進入子目錄執行 perl Makefile.PL ,再將 lib 子目錄中的所有內容複製到 C:\Perl64\site\lib (視perl 安裝在何處而定)
  8. 補充一下,ppm上沒有的套件,在不需 c compiler 的情況下,可以下達 cpan WWW::Mechanize::Firefox 安裝

沒有留言:

張貼留言