まゆたまガジェット開発逆引き辞典

電子工作やプログラミングのHowtoを逆引き形式で掲載しています。作りたいモノを決めて学んでいくスタイル。プログラマではないので、コードの汚さはお許しを。参照していないものに関しては、コピペ改変まったく問いません

Google Search APIで検索ヒット数を表示

Google Search APIで検索ヒット数を表示させてみたくて、調べてみました。
その数を%で表示するのも付け足してみました。
こちらこちら(公式)を参照させて頂きました。


この結果をなんとかしてGoogle Chartに組み込むことはできそうです(が、やれてない)。

<html>
  <head>
    <meta charset="UTF-8">
	<div id="resultsetumei">結果表示</div>
	<div id="resultcount">Loading</div>
	<div id="percentage">Loading</div>
	
  <style type="text/css">
  #resultsetumei {
 color:red;
font-size: 12pt;
font-family: "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN",'メイリオ',Meiryo,sans-serif;
font-weight: bold;
 }
   #resultcount {
color:red;
font-size: 20pt;
font-family: "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN",'メイリオ',Meiryo,sans-serif;
font-weight: bold;
}

#percentage {
color:blue;
font-size: 20pt;
font-family: "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN",'メイリオ',Meiryo,sans-serif;
font-weight: bold;
}

 
</style>

    <script src="https://www.google.com/jsapi"
        type="text/javascript"></script>
    <script language="Javascript" type="text/javascript">
    
    google.load('search', '1');

    function OnLoad() {
      // Create a search control
      var searchControl = new google.search.SearchControl();

      searchControl.addSearcher(new google.search.WebSearch());
      searchControl.setSearchCompleteCallback(searchControl,showResults);
      searchControl.setNoResultsString("ヒットしませんでした");
      searchControl.draw(document.getElementById("searchcontrol"));
      searchControl.execute("三国無双7 文若");
    }
	
	function showResults(seachControl,searcher){
        if (searcher.cursor == undefined) {
            document.getElementById("resultcount").innerHTML = 0;
        } else {
            document.getElementById("resultcount").innerHTML = searcher.cursor.estimatedResultCount;
			//ヒット数(resultcountの中身)を数値に変換
			var num1 = Number(document.getElementById("resultcount").innerHTML);
			//割合を出す(Google検索で「Google」と打ったときのヒット数を参照)
			var num2 = num1 * 100 / 7650000000;
			//任意の桁で切り上げる
			var num3 = num2 * 100000;
			var num4 = Math.ceil(num3) / 100000;
			//数値から文字へ変換
			String(num4);
			document.getElementById("percentage").innerHTML = num4 + " %";
        }
    }
	
	
    google.setOnLoadCallback(OnLoad);

    </script>
  </head>
  <body>
  <!--
  searchcontrolは結果そのものを表示、resultcountはヒット数表示
    <div id="searchcontrol">Loading</div>
	-->
	
	<div id="resultcount"></div>
	
	<div id="percentage"></div>
  </body>
</html>