コンテンツへスキップ

perlでお気に入りのページをパースしよう

perlでパースするやり方を記載したいと思います。

use strict;
use HTTP::Request::Common;
use LWP::UserAgent;

#検索オブジェクトを生成
my $ua = LWP::UserAgent->new;
my $url = ”アクセスさせたいurl”;
my $reqest= HTTP::Request->new(url, post);

#cookie情報 変数宣言
my $cookie_jar = HTTP::Cookies->new;
my $post = ”ログイン情報等を連想配列で参照渡しする”

#クッキー容器を読み込み。可能なら変数で持ち回る処理に変更
ua->cookie_jar

#レスポンスで取得した結果をレスポンスに格納する。
my $response=ua->get(request);

#継続でPostする場合はcookieにレスポンスで取得したクッキーを設定する必要があるため、加工する必要がある。文字列結合と上手く処理を行う。文字列切り抜きを行う
if(!$response->is_susses ||$response = 'null')
{
    my $body_st   =   $response->as_strings;
    
}else {   
    return null;
}

#Response情報は取得したため、パース処理を書いてく。
#パース処理はhtmlの知識&法則性がないと大変です。

まとめ

LWP::UserAgentモジュールを使ってpostし、レスポンスを取得する処理事態は簡単だなと個人的に思いました。後は以下にパースして必要な情報を取得するかかと思います。

今回はパースする処理は今回の記事で書いてませんが、後日書くことがあれば載せたいと思います。最後まで読んでいただきありがとうございました。

追記)2019年5月16日

パース処理について少し付け足し。

$body_stの変数の値として取得したいURL先のHTMLタグが格納されております。そのため、htmlを以下に分解し、効率的にパースを行うか法則性等見つけ出すのは大変です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください