サイト内で使用されているURLを全部抽出する。(linux,php5.xにて)

 WEBサイト内に使用されているURLを全部抽出するプログラムです。動作環境は、linux「wget」「touch」「chmod」のコマンドが動くこと。phpのバージョンは、5以上で動きます。「touch」「chmod」のコマンドに関しましては、htmlソースの一時保管ファイルがない場合に使用しているので、ファイルを作成してしまえば、使用しなくても問題はありません。
このプログラムを利用するときは、フォルダーにファイル作成の権限があるかどうか確認してください。
プログラムは下記の様になります。

ソース

//取得したいサイトのURL
$url = “http://www.shinbo.org”;

//ソースの保管ファイル(ファイルがない場合、作成します)
$filename = “test.html”;
if(!file_exists($filename)){
 exec(“touch “.$filename);
 exec(“chmod -f 777 “.$filename);
}

exec(“wget -O “.$filename.” “.$url);
$text = file($filename);

if(!empty($text)){
 $text = print_r($text,true);
 mb_ereg_search_init($text,”(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)”);
 while(mb_ereg_search()){
  $url = mb_ereg_search_getregs();
  $url = str_replace(“‘”,””,$url);
  $url = str_replace(‘”‘,”,$url);
  $urls[] = $url[0];
 }
}

echo nl2br(print_r($urls,true));

Be the first to comment on "サイト内で使用されているURLを全部抽出する。(linux,php5.xにて)"

Leave a comment