ホームページ >バックエンド開発 >PHPチュートリアル >Google を使用して第 2 レベルのドメイン名を取得する_PHP チュートリアル
header("Content-Type: text/html;charset=utf-8");
set_time_limit(0);
エラー報告(E_ERROR);
function geturl($keywords, $page, $num)
{
$page = ($page - 1) * 10;
$content = file_get_contents("http://www.google.com/search?sclient=psy-ab&hl=ja&start=$page&source=hp&q=$keywords&pbx=1&oq=$keywords&num=$num&aq=f&aqi=g4");
$preg = '/
preg_match_all($preg, $content, $m);
preg_match_all('/(.*?)/', $m[0][0], $ms);
$list = 配列();
foreach ($ms[1] を $link として)
{
preg_match('/http://[a-zA-Z0-9._-]*/', $link, $matches);
if (!empty($matches[0]))
{
$list[] = $matches[0];
}
}
$list = array_unique($list);
$list を返します;
}
www.2cto.com
エコー<<<情報
----------------------------------
Google が DNS 情報を取得 T00l
ブログ:hi.baidu.com/nginxshell n
使用法:n PHP $argv[0] n
例:n サイト:baidu.com -inurl:zhidao.n
----------------------------------リン
情報;
if(file_exists('site.txt')){
@unlink('site.txt');
@unlink('tmp');
echo 「キャッシュクリア成功!」ん";
}
echo "GoogleDork を入力してください: ";
$GOOGLEDORK = urlencode(fgets(STDIN));
#エコー $GOOGLEDORK;
#終了();
$ページ = 10;
$num = 100;
($i=1;$i
{
$url = geturl($GOOGLEDORK, $i, $num);
print_r('ページ: '.$i.' 結果数: '.count($url)."rn");
foreach ($url を $u)
{
print_r($u."rn");
@$fp=@fopen('tmp','a');
@fwrite($fp,$u."rn");
@fclose($fp);
}
}
$new_filename='サイト.txt';
$file=file('tmp');
$array=preg_replace('/($s*$)|(^s*^)/m','',$file); // 消除空行
foreach ($array as $key=>$r){
$array[$key]=trim("$r"); //空白文字を削除
}
$new_array=array_values(array_unique($array));// 消除重复行
if(file_put_contents("$new_filename",join("rn",$new_array)))
{
echo "サブドメインの取得に成功しました!rn";
if(file_exists('tmp'))
{
@unlink('tmp');
echo "キャッシュをクリア...";
}
}
終了します;
?>
抜粋 http://hi.baidu.com/nginxshell