<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>firefox / Drkcore</title><link>http://blog.kzfmix.com/firefox</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Wed, 02 Mar 2011 21:57:30 +0919</lastBuildDate><item><title>WWW::Mechanize::Firefox</title><link>http://blog.kzfmix.com/entry/1299066556</link><description>&lt;p&gt;javascriptでDOM操作しまくっているサイトをスクレイピングする作業が発生しそうなのだけど&lt;a href="http://digit.que.ne.jp/work/product/document/perldoc/WWW-Mechanize-1.02/FAQ.html#JavaScript%E3%82%92WWW::Mechanize%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%95%E3%81%9B%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%EF%BC%9F"&gt;WWW:Mechanizeではできないらしくて&lt;/a&gt;、ちょっと調べてみた。&lt;/p&gt;
&lt;p&gt;すぐに思いついたのは&lt;a href="http://search.cpan.org/perldoc?WWW::Selenium"&gt;WWW::Selenium&lt;/a&gt;なんだけど使ったことないなぁ。で、CPAN探したら&lt;a href="http://search.cpan.org/perldoc?WWW::Mechanize::Firefox"&gt;WWW::Mechanize::Firefox&lt;/a&gt;を見つけたのでインストールして使ってみた。&lt;/p&gt;
&lt;p&gt;僕のブログの404ページはページがロードされると、AjaxでtagのJSONをゲットしてきて表示するようになっているので、そのページのスナップショットを撮ってみた&lt;/p&gt;
&lt;p&gt;きちんとjavascriptを解釈している&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nn"&gt;WWW::Mechanize::&lt;/span&gt;&lt;span class="n"&gt;Firefox&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$mech&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nn"&gt;WWW::Mechanize::&lt;/span&gt;&lt;span class="n"&gt;Firefox&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nv"&gt;$mech&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;http://blog.kzfmix.com/404&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$rect&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;left&lt;/span&gt;  &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;    &lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;top&lt;/span&gt;   &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;    &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;width&lt;/span&gt;  &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;height&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nb"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$png&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$mech&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;content_as_png&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;undef&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$rect&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nb"&gt;open&lt;/span&gt; &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$fh&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;page.png&amp;#39;&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="nb"&gt;die&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;Couldn&amp;#39;t save to &amp;#39;page.png&amp;#39;: $!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nb"&gt;binmode&lt;/span&gt; &lt;span class="nv"&gt;$fh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$fh&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nv"&gt;$png&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nb"&gt;close&lt;/span&gt; &lt;span class="nv"&gt;$fh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;img alt="404" src="http://www.kzfmix.com/images/blog/error_page0302.png" /&gt;&lt;/p&gt;
&lt;p&gt;それから当たり前だがアクセスログのUser-Agentは&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Mozilla&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;5&lt;span class="p"&gt;.&lt;/span&gt;0 &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Macintosh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;U&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;Intel&lt;/span&gt; &lt;span class="n"&gt;Mac&lt;/span&gt; &lt;span class="n"&gt;OS&lt;/span&gt; &lt;span class="n"&gt;X&lt;/span&gt; 10&lt;span class="p"&gt;.&lt;/span&gt;5&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;ja&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;JP&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mac&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;rv&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;1&lt;span class="p"&gt;.&lt;/span&gt;9&lt;span class="p"&gt;.&lt;/span&gt;2&lt;span class="p"&gt;.&lt;/span&gt;13&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="n"&gt;Gecko&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;20101203 &lt;span class="n"&gt;Firefox&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;3&lt;span class="p"&gt;.&lt;/span&gt;6&lt;span class="p"&gt;.&lt;/span&gt;13
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;とFirefoxのものとなる。&lt;/p&gt;
&lt;p&gt;というわけで、&lt;a href="http://search.cpan.org/perldoc?WWW::Mechanize::Firefox"&gt;WWW::Mechanize::Firefox&lt;/a&gt;を使ってスクレイピングをすればjavascriptでDOMを組み立ててるサイトやAjaxで通信しているサイトでもいけそうな気がしている。その後は&lt;a href="http://search.cpan.org/perldoc?Web::Query"&gt;Web::Query&lt;/a&gt;でDOMいじりをすればよさそうだ。&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href="http://frepan.org/"&gt;FrePan&lt;/a&gt;をいまさら知った。LDRでフィードを購読するようにしといた。&lt;/p&gt;</description><pubDate>Wed, 02 Mar 2011 21:57:30 +0919</pubDate><category>perl</category><category>firefox</category></item><item><title>「Firefox 3 Hacks」を読んだ</title><link>http://blog.kzfmix.com/entry/1227609717</link><description>&lt;p&gt;読み流した感じ。&lt;/p&gt;

&lt;p&gt;&lt;div class="awsxom"&gt;
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/487311375X/ref=nosim/kaerutyuuihou-22"&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/41664CPo6pL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
&lt;strong&gt;Firefox 3 Hacks Mozillaテクノロジ徹底活用テクニック&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
江村 秀之,池田 譲治,下田 洋志,松澤 太郎,dynamis &lt;br /&gt;
オライリージャパン / ￥ 2,940 ()&lt;br /&gt;
通常24時間以内に発送&lt;br /&gt;
&lt;br clear="all" /&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FireGestures&lt;/li&gt;
&lt;li&gt;LDR Full Feed&lt;/li&gt;
&lt;li&gt;APNG(pngでアニメーション)&lt;/li&gt;
&lt;li&gt;Microformats&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 25 Nov 2008 19:41:57 +0919</pubDate><category>firefox</category><category>life</category></item><item><title>アフォーダンス</title><link>http://blog.kzfmix.com/entry/1199963163</link><description>&lt;p&gt;ちょっとしたきっかけで、&lt;strong&gt;firefoxのタブをホームのアイコンにドラッグドロップするとホームページに設定される&lt;/strong&gt;ことに気がついた。&lt;/p&gt;

&lt;p&gt;ドラッグしてくれーというアイコンからの声は聞こえないなぁ。&lt;/p&gt;
</description><pubDate>Thu, 10 Jan 2008 20:09:12 +0919</pubDate><category>firefox</category></item><item><title>firefoxのキーワードに制御文字が使えない</title><link>http://blog.kzfmix.com/entry/1194439778</link><description>&lt;p&gt;livedoor clipのブックマークレットには&lt;strong&gt;c&lt;/strong&gt;を、livedoor readerの購読ブックマークレットには&lt;strong&gt;s&lt;/strong&gt;のキーワードを設定しているので、ロケーションバーに移動してそれぞれ入力するだけで登録できるようにしてある。&lt;/p&gt;

&lt;p&gt;ただ、ロケーションバーの移動のショートカットがC-lなので、Emacsユーザーの僕としてはC-l,C-cとかC-l,C-sとかコントロールキーを押したままのほうが自然なキーストロークなんだけどfirefoxのキーワードにCtrlを定義できなかった。&lt;/p&gt;

&lt;p&gt;でもやっぱ途中で小指を離すのはなんか気持ち悪いなあ&lt;/p&gt;
</description><pubDate>Wed, 07 Nov 2007 21:57:30 +0919</pubDate><category>firefox</category></item><item><title>個人用ツールバーフォルダにキーボードショートカットを使いたい</title><link>http://blog.kzfmix.com/entry/1187532204</link><description>&lt;p&gt;個人用ツールバーフォルダに&lt;a href="http://www.kzfmix.com/blosxom_archive/Computer/W2K/iconic061018.html"&gt;favidonだけ表示させて簡易ボタンとして使う&lt;/a&gt;のは便利だ。&lt;/p&gt;

&lt;p&gt;だが、キーボードショートカットとかキーボードで操作できると便利だと思うんだがやり方がわからない。&lt;/p&gt;

&lt;p&gt;Alt-bでたどるってのもぁ、、、&lt;/p&gt;
</description><pubDate>Sun, 19 Aug 2007 23:04:06 +0919</pubDate><category>firefox</category></item><item><title>firefox2.0のRSS Readerが選べるのだけど</title><link>http://blog.kzfmix.com/entry/1179495514</link><description>&lt;p&gt;Firefox2.0だとRSS開いたときに、デフォルトで登録するRSSリーダーを選べるようになってて便利だ。早速LDRに変更してみたが、&lt;/p&gt;
&lt;p&gt;&lt;img alt="reader select" src="http://www.kzfmix.com/images/blosxom/rssselect.png" /&gt;&lt;/p&gt;
&lt;p&gt;イントラのRSSもLDRに登録しようとしてしまうので、ちょっと嫌な感じ。&lt;/p&gt;
&lt;p&gt;やっぱブックマークレットにスマートキーワードつけるのがいいのかも。&lt;/p&gt;</description><pubDate>Fri, 18 May 2007 22:38:34 +0919</pubDate><category>firefox</category></item><item><title>LiveHTTPHeader</title><link>http://blog.kzfmix.com/entry/1171114654</link><description>&lt;p&gt;ここ何日かHTTP(S)の通信追ってきて、curlとかWWW::Mechanizeのトレースモードをずっとみてた。&lt;/p&gt;
&lt;p&gt;で、ブラウザのヘッダーの追っかけが、かなり役立ったんだが、この
&lt;a href="http://livehttpheaders.mozdev.org/"&gt;LiveHTTPHeader&lt;/a&gt;の便利さを改めて実感した。&lt;/p&gt;
&lt;img src="http://www.kzfmix.com/images/blosxom/lhh.png" alt="LiveHTTPHeader" /&gt;

&lt;p&gt;でも、ヘッダーだけだとわからないことも多かった。特にプロキシ介する場合に結局どこに問題あるのかイマイチ判明しないのには苦労させられたな。&lt;/p&gt;
&lt;h4&gt;2007.02.10追記&lt;/h4&gt;
&lt;p&gt;Webクライアントプログラミングの最初のほう読むと、LiveHTTPHeaderを結構使えるようになると思うんだけど。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4900900621/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41DCESKY02L._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Webクライアントプログラミング&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    クリントン ウォング&lt;br /&gt;
    オライリー・ジャパン / ?円 ( 1997-09 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;が、&lt;a href="http://www.oreilly.co.jp/books/4900900621/"&gt;絶版みたい&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 10 Feb 2007 22:37:34 +0919</pubDate><category>firefox</category></item><item><title>firefoxの個人用ツールバーフォルダ</title><link>http://blog.kzfmix.com/entry/1161182724</link><description>&lt;p&gt;個人用ツールバーフォルダにつけてるボタンは名前を空欄にしたほうがアイコンチックになってすっきりしてみやすいことにいまさら気付いた。&lt;/p&gt;
&lt;p&gt;&lt;img alt="toolbar" src="http://www.kzfmix.com/images/blosxom/iconic.png" /&gt;&lt;/p&gt;
&lt;p&gt;ブックマークレットもアイコンにならんもんじゃろか？増えてくるとあれ～～？とか一瞬悩むことは増えるので。&lt;/p&gt;</description><pubDate>Wed, 18 Oct 2006 23:45:24 +0919</pubDate><category>firefox</category></item><item><title>右クリックでWebLSD</title><link>http://blog.kzfmix.com/entry/1156763244</link><description>&lt;p&gt;あれ、LSDって昔はpdic形式のデータ配布してたよなァと思いつつ、探してもみつからないので&lt;a href="http://blog.kzfmix.com/entry/1154954993"&gt;英辞郎&lt;/a&gt;みたいに右クリックで検索できるようにしてみた。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;http:&lt;/span&gt;&lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="n"&gt;lsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pharm&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;kyoto&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;u&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ac&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;jp&lt;/span&gt;&lt;span class="sr"&gt;/cgi-bin/&lt;/span&gt;&lt;span class="n"&gt;lsdproj&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;ejlookup04&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pl&lt;/span&gt;&lt;span class="p"&gt;?&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;を拡張機能で設定。&lt;/p&gt;
&lt;p&gt;&lt;img alt="config" src="http://www.kzfmix.com/images/blosxom/lsd1.png" /&gt;&lt;/p&gt;
&lt;p&gt;で、実行すると新しくタブが開いて検索結果が表示されるようになったとさ。&lt;/p&gt;
&lt;p&gt;&lt;img alt="config" src="http://www.kzfmix.com/images/blosxom/lsd2.png" /&gt;&lt;/p&gt;
&lt;p&gt;pubmedのアブストをRSSリーダーで流し読みしてるときなど便利。&lt;/p&gt;</description><pubDate>Mon, 28 Aug 2006 20:07:24 +0919</pubDate><category>firefox</category></item><item><title>portable firefox+Google syncで帰省を乗り切る</title><link>http://blog.kzfmix.com/entry/1154088029</link><description>&lt;p&gt;今年は早めに休暇をとって、帰省することにした。&lt;/p&gt;
&lt;p&gt;で、ワンコと赤ちゃん連れて帰るために、荷物が増えてノートパソコン持ち歩くのがいやだけど、実家のコンピュータの環境だと、ネットのチェックしづらいので、&lt;a href="http://portableapps.com/"&gt;Portable Firefox&lt;/a&gt;と&lt;a href="http://www.google.com/tools/firefox/browsersync/"&gt;Google Browser Sync&lt;/a&gt;を試すことにした。&lt;/p&gt;
&lt;p&gt;もらいもののusbメモリにマイブラウザを持ち歩くというわけだ。&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/blosxom/2006072830028.jpg" rel="lightbox[roadtrip]"&gt;&lt;img src="http://www.kzfmix.com/images/blosxom/2006072830028.jpg" border=0 alt="portable firefox" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;USBメモリブートが一般的になれば、&lt;a href="http://knob.sourceforge.jp/ja/"&gt;KNOB&lt;/a&gt;な解析環境も持ち歩くようになるのかな。&lt;/p&gt;</description><pubDate>Fri, 28 Jul 2006 21:00:29 +0919</pubDate><category>firefox</category></item></channel></rss>