2013年11月24日日曜日

【PHP】csvに書かれているキーワードの一覧からGoogle検索を実施するスクリプト(非推奨)

<?php
require_once './simple_html_dom.php';

$csv = array();
$input_file = 'keyword_list.csv';
$fp= fopen($input_file, "r");
$result_file = 'result.csv';
$fp2 = fopen($result_file, "w");
$search_result_count = 10;
$sleep_time = 10;

while (($data = fgetcsv($fp, 0, ",")) !== FALSE) {
  $csv[] = $data;
}
fclose($fp);

#var_dump($csv);

for ($i = 1; $i < count($csv); $i++) {
  $keyword = $csv[$i][1];
  $urlStr  = "http://www.google.co.jp/search?num=$search_result_count&q=" . urlencode($keyword) . '&ie=utf-8&oe=utf-8';
  $html = file_get_html($urlStr);

  $lcnt = 1;
  fwrite($fp2, $i . ',' . $keyword . ',');
  $result = '';
  foreach($html->find('h3[class=r]') as $e) {
    $result_title = preg_replace('/<a href=(.+?)>/', '', $e->outertext);
    $result_title = preg_replace('/<b>|<\/b>|<\/a>|<h3 class="r">/', '', $result_title);
    $result_title = preg_replace('/<\/h3>/', '', $result_title);
    $result = $result . $result_title . ',';
    $lcnt++;
  }
  $result = rtrim($result, ",");
  fwrite($fp2, $result . "\r\n");
  sleep($sleep_time);
}
fclose($fp2);
?>

simple_html_dom.php は
http://sourceforge.net/projects/simplehtmldom/files/
からダウンロードして上記スクリプトと同じディレクトリ内において実行ください

ちなみにこのスクリプト内で実施している検索はGoogle Search APIを使用しておらず頻繁に利用するとGoogleからBANされ、結果がすべて302にリダイレクトされます
大量に使用する場合はちゃんとGoogle Search APIを利用してください

0 件のコメント:

コメントを投稿