This domain may be for sale!
perlWWW::Mechanize の最近のバージョンでは content とかが全部 utf-8 decoded で便利なのだけれど、SJISとかEUC-JPとかの時に困ることになる。実際に困るときの再現テストをエントリの最後につけておきます。WWW::MechanizeでShift-JISとかのフォームを送信する方法 - Lism.in * blog - nekoya (id:studio-m)ここで書いてるみたいに form をとって自前で request 作ればどうにかなるんだけれど、こいつは面倒すぎる。なので、WWW::Mechanize の update_html を書き換えて response->headers->content_charset を使って文字コードを指定するようにした。 @@ -2232,7 +2232,8 @@ $self->{ct} = 'text/ht
WWW::Mechanizeはいろんなモジュールがベースになってて、コードを追うのが大変。LWP::UserAgentとかそれ以前の時代を知っていれば、どのモジュールが何を持ってるか分かっていいんだろうけど、いきなりWWW::Mechanizeから入ってしまうと厳しいっすね。まぁ、分からなけりゃその分コード読めばいい。 で、ふつうに$mech->submit_formで日本語を送ると、UTF-8でencodeした文字列になってしまって、SJISとかEUCのページを操作すると文字化けします。コード拾い読みして、たどり着いた解決方法がこれ。 $mech->get($target_url); my $form = $mech->form_number(1); $form->accept_charset('shiftjis'); my $req = $form->make_request; $me
Posted on 5月 19, 2010 Filed Under perl | WWW::Mechanize::Firefox-すごいな mozreplと組み合わせてこんなコードで簡単にスクリーンショットがとれる perl mechanize-firefox.pl "yahoo.co.jp" yahoo.png とかってやってとれたスクリーンショットはこんな write error: filehandle isn't open at /path/to/MozRepl/Client.pm line 186 とかって出たらFirefoxのmozreplが立ち上がってない。 maximum input buffer length exceeded: 1048576 bytes at /path/to/MozRepl/Client.pm line 186 とかって出たらmozrepl
読書メーターはインポート機能が無いので他の蔵書管理から移るのが めんどくさいのですが,Perl の WWW::Mechanize 使ってさくっとやる方法. Perl 分かんない人は下手に手を出すと読書メーターがひどいことになるので注意 w Perl 分かる人は適当に加工して使うといいんじゃないでしょうか. できあがった読書メーターはこちら.reverse 入れ忘れたので読み終えた本以外, 逆順だけど,まぁどうでもいいや. 読書メーター – riywo さんの読書メーター SSBCSV モジュール まずは StackStockBooks のエクスポート機能で CSV ファイルを書き出します. このファイルには ISBN とか書名とかいろんな情報が入ってますが,基本的に 使うのは「ISBN」「状態」「日付」で良いと判断しています. あとは Perl で読み込みます.Text::CSV::Sim
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く