私は現在、サイドプロジェクトとして小さなウェブクローラーに取り組んでおり、基本的にはページ上のすべてのhrefを収集し、その後それらを解析するようにしています。私の問題はです。
実際のページの結果のみを取得するにはどうすればよいですか?現在、私は以下を使用しています
foreach($page->getElementsByTagName('a') as $link)
{
$compare_url = parse_url($link->getAttribute('href'));
if (@$compare_url['host'] == "")
{
$links[] = 'http://'.@$base_url['host'].'/'.$link->getAttribute('href');
}
elseif ( @$base_url['host'] == @$compare_url['host'] )
{
$links[] = $link->getAttribute('href');
}
}
ご覧のとおり、これによりjpeg、exeファイルなどが取り込まれます。.php、.html、.aspなどのWebページを取得するだけで済みます。
これを実行できる関数があるかどうか、またはある種のマスターリストから正規表現にする必要があるかどうかはわかりませんか?
ありがとう