Google をスクレイピングするつもりはありません。これは、手動で行うよりも少し速く約 300 個の URL を取得するための 1 回限りのことです。
ただし、DOMDocument を作成できないようです。常に空のオブジェクトになります。
search_list.txt
私の検索用語のリストが含まれています。現在、「レゴ」という 1 つの用語だけでテストしています。
スクリプトは、検索結果ページを正しくダウンロードします。Web ブラウザで表示したところ、問題なく表示されました。
search_list.txt
legos
getresults.php
<?php
$search_list = 'search_list.txt'; // file containing search terms
$results = 'results.txt';
$handle = fopen($vendor_list,'r');
while($line = fgets($handle)) {
$fp = fopen($results,'w');
$ch = curl_init('http://www.google.com/'
. 'search?q=' . urlencode($line));
curl_setopt($ch,CURLOPT_FILE,$fp);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
unset($ch,$fp);
}
fclose($handle);
$dom = DOMDocument::loadHTML(file_get_contents($results));
echo print_r($dom,true); // EMPTY
$search_div = $dom->getElementById('search');
if(is_null($search_div)) { // ALWAYS NULL
echo 'Search_div is null';
} else {
echo print_r($search_div,true);
}
?>