No.1ベストアンサー
- 回答日時:
「HTML内リンク先など」の"など"が気になりますが、リンクかフォームアクション先を取得するのでしたら HTML::LinkExtor モジュールを使う方法があります。
(表示がくずれるので、スペース2文字を全角空白で書いています)
use strict;
use warnings;
use HTML::LinkExtor;
use HTTP::Response;
use HTTP::Request;
use LWP;
my $url = shift || 'http://www.google.co.jp';
my $ua = LWP::UserAgent->new;
$ua->agent('Mozilla');
$ua->timeout(10);
my $req = HTTP::Request->new( GET => $url );
my $res = $ua->request($req);
if ( $res->is_success ) {
my $p = HTML::LinkExtor->new;
$p->parse( $res->content );
for my $items_ref ($p->links) {
print $items_ref->[2], $/;
}
}
else {
print $res->error_as_HTML, "\n";
}
色々やっていますが、キモは
my $p = HTML::LinkExtor->new;
$p->parse( $res->content );
for my $items_ref ($p->links) {
print $items_ref->[2], $/;
}
で、parse に html を文字列で渡しているところです。
リンクタグやフォームタグ以外で http や https 以外の URL を取得するのは困難なような気もします。html内のフォームタグでは、例えば /search と言った書き方ができます。
<form action="/search">
BODYタグ内の本文で /search という文字列が出てきたときはリンクなのか、そうでないのか判断しようがありません。
この回答へのお礼
お礼日時:2010/05/16 23:48
丁寧な回答ありがとうございます。
まさに、
BODYタグ内の本文で /search などという文字列が出てきたときはリンクなのか、そうでないのか判断しようとしていました。
難しいようですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセル VBA メール本文に指定セルに記載されているURLをリンクとして記載する方法 8 2022/08/08 07:50
- その他(Microsoft Office) Outlookメール 連絡先の検索について 〈 ご説明 〉 Windows PC の Outlook 1 2022/09/23 14:43
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- その他(コンピューター・テクノロジー) 正規表現の置換で数値を合計したいです。 2 2022/10/17 11:01
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- JavaScript 正規表現について質問です。条件に合う場合はtrueを返したい 3 2022/10/06 23:02
- Excel(エクセル) excelVBAについて。 8 2022/12/11 13:47
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
- Java JAVAの1つの正規表現で上記Textすべてと合致する正規表現を教えてください。 4 2022/11/06 08:46
- 数学 正規数の定義で分からないことがあります。 正規数の定義について専門書において 「xがr進正規であると 1 2023/07/17 20:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlをバージョンアップしたら...
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlの構文でカンマの意味が分...
-
英数文字列のうちの数値を4桁に...
-
テキストファイルで提出とは?
-
Perlのエラーについてご教授く...
-
AI sisterとは、偽物の人ですか?
-
perlのrequireの動き方について...
-
perlのプログラミング 部分入れ...
-
Strawberry Perl for Windows ...
-
arduino の割り込み処理について
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
bashスクリプト
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perl 強制終了の回避について
-
Win32でInputBoxを実装するには?
-
VHDLについてですが何がお...
-
Perl/TkでURLを既定のブラウザ...
-
LWPでHTMLが取得できないことが...
-
Perl LWPでのIPv6エラー
-
LWP::Simpleでのgetについて
-
mechanizeのタイムアウト処理に...
-
TwitterAPI1.1でGetメソッド(...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
例外処理のフローチャートの記...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
「デバイスは PRN を初期化でき...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
LCD ディスプレイを Raspberry ...
-
モジュールとは何ですか
おすすめ情報