人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlの正規表現についての質問です。続きの質問ですので、お手数ですが先に
http://q.hatena.ne.jp/1218906142
に目を通していただけるとありがたいです。掲示板のデータを取得して、正規表現でシリアル、タイトル、名前、日付、書き込み内容を抜き出して保存したいと考えています。前回は1件だけ取得するところまではOKでしたが、ループで回していくと、書き込み内容の部分だけ、マッチしたりしなかったりします。しかも、実行するたびにマッチする行、しない行が違ってきたりします(例えば10回フープすれば2,3,5,6行だけしない、など)。何度も見直したのですが、なぜ同条件でこういった結果になるのかが分かりません。何かこういう問題を引き起こす原因に心当たりがありましたら、ご指摘ください。
字数制限でコードや実行結果を書けませんが、お答えいただければコメントで詳しくお伝えできると思います。完全に行き詰まってしまいました。どうか宜しくお願いします。

●質問者: mine-D
●カテゴリ:ウェブ制作
✍キーワード:Perl コメント コード シリアル タイトル
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● nagase
●100ポイント ベストアンサー

前回質問のサンプルソースでページの取得にわざわざLWP::UserAgentを使う必要は無いかと思います。

LWP::Simpleを使って以下のようにすればうまく行きました。

use LWP::Simple;

for(my $i = 1;$i <= 10;$i++){ # とりあえず10ページ取得
 my $url = "http://otd1.jbbs.livedoor.jp/18972/bbs_plain?base=$i&range=1";
 parse(get($url));
}

sub parse{
 my ($data) = @_;
 my $decoder = Encode::Guess->guess($data);
 my $string = $decoder->decode($data);

 ...
◎質問者からの返答

おおおおお!すごい。本当だ。いけました。大感謝です。

CPANモジュール(というかPerlそのもの)をほとんど初めて使ったんですが、どのモジュールを選ぶかというのも重要なんですね。LWP::UserAgentは内部的にややこしい事をやっているとか、そんな感じなんでしょうか?

あっという間に解決していただいて、びっくり&感嘆しております。ありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ