1

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);
}

?>
4

1 に答える 1