0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Google Custom Search API を Java で利用する

Last updated at Posted at 2022-09-07

必要なもの

APIキー

以下で取得できる

プログラム可能な検索エンジン (= Custom Search Engine)

以下で取得できる

APIの仕様

無料枠

1 日あたり 100 件の検索クエリを無料

Code

package hello.goog;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;

public class CustomSearchMain {
	public static void main(String[] args) throws Exception {
		// APIキー: https://console.cloud.google.com/apis/credentials
		String key = "AIzaSyBPx6BfO5jdnvd_xxx";
		// プログラム可能な検索エンジン:
		// https://programmablesearchengine.google.com/controlpanel/all
		String cx = "d7b217exxx";
		String q = "IBM";
		// https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list
		URL url = new URL( //
				"https://www.googleapis.com/customsearch/v1" + "?" //
						+ "q=" + q
						+ "&lr=ja"
						+ "&cx=" + cx
						+ "&gl=jp"
						+ "&key=" + key//
						+ "&alt=json"//
		);
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setRequestMethod("GET");
		conn.setRequestProperty("Accept", "application/json");
		BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
		// レスポンスはjson
		JsonObject googleApiResponseJsonObject = (new Gson()).fromJson(br, JsonObject.class);
		System.out.println(googleApiResponseJsonObject.toString());
		{
			JsonArray items = googleApiResponseJsonObject.get("items").getAsJsonArray();
			for (int n = 0; n < items.size(); n++) {
				JsonObject item = items.get(n).getAsJsonObject();
				System.out.println(item.get("title").getAsString());
				System.out.println(item.get("link").getAsString());
				System.out.println(item.get("snippet").getAsString());
				System.out.println("---");
			}
		}
		conn.disconnect();
	}
}

結果

レスポンスから タイトル、URL、スニペット を出力したものです。
日本のロケーションと日本語を設定した結果が返されています。

IBM - 日本
https://www.ibm.com/jp-ja
日本IBMのWebサイトです。ハイブリッドクラウド、AIを筆頭とする製品、サービス、ソリューションを紹介します。
---
IBM - Wikipedia
https://ja.wikipedia.org/wiki/IBM
IBM(アイビーエム、正式名: International Business Machines Corporation)は、アメリカ合衆国ニューヨーク州アーモンクに本社を置くテクノロジー関連企業。
---
日本IBMについて - 日本 | IBM
https://www.ibm.com/jp-ja/about
IBM Community Japan. 「未来を創るテクノロジーで豊かな社会を実現する」ために、共に成長していくオープンコミュニティーです。
---
IBM Japan Newsroom - ニュースリリース
https://jp.newsroom.ibm.com/
AI; 量子コンピューター; ハイブリッドクラウド; セキュリティー; Good Tech; IBM Consulting; DX; 経営・人事; 導入事例; 調査; お知らせ ...
---
IBM 新卒採用情報
https://www.ibm.com/jp-ja/employment/campus/
日本IBMグループ各社では、インターンシップを実施しています。詳細は、各サイトをご確認ください。
---
IBMの主力事業がサービスから製品に回帰、1990年代後半の姿に戻る
https://xtech.nikkei.com/atcl/nxt/column/18/00848/00084/
2022/08/16 ... 直近の業績を見ると1990年代後半のビッグブルーに戻りつつある」。日本IBMの営業だったあるOBは米IBMの第2四半期(2022年4~6月期)および ...
---
IBM:New York 株価 - IBM - Bloomberg Markets
https://www.bloomberg.co.jp/quote/IBM:US
2022/07/19 ... IBM (IBM:New York) の株価、株式情報、チャート、関連ニュースなど、企業概要や株価の分析をご覧いただけます。
---
IBM - Wikipedia
https://en.wikipedia.org/wiki/IBM
International Business Machines Corporation (IBM) is an American multinational technology corporation headquartered in Armonk, New York, with operations in ...
---
日本IBM (@IBM_JAPAN) / Twitter
https://twitter.com/ibm_japan
IBM ビジネス×テクノロジー 2022 Summer 9月8日(木) 13:00開催東京海上グループのグローバル・サイバーセキュリティー戦略事例、大手国内銀行のCO2排出量可視化 ...
---
GitHub - IBM/japan-technology: IBM Related Japanese technical ...
https://github.com/IBM/japan-technology
IBM Related Japanese technical documents - Code Patterns, Learning Path, Tutorials, etc. - GitHub - IBM/japan-technology: IBM Related Japanese technical ...
---

参考になる記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?