· 5 years ago · Aug 23, 2020, 11:46 AM
1
2import java.io.BufferedReader;
3import java.io.InputStreamReader;
4import java.net.HttpURLConnection;
5import java.net.URL;
6import java.util.ArrayList;
7
8
9public class Main {
10 SearchImage sI = new SearchImage();
11 public static void main(String[] args) throws Exception {
12 sI.searchImage(NAME OF IMAGE, 10, 0);
13 }
14
15}
16
17class SearchImage {
18
19 public ArrayList<String> searchImage(String name, int numberOfImages, int whereToStart) throws Exception {
20 // Number of images range: 0 - 10
21 String cx = CX GOES HERE;
22 String key = API KEY GOES HERE;
23 String searchType = "image";
24 String query = name.replace(" ", "+"); // Add spaces by using the "+" sign
25 int num = numberOfImages;
26 int lowRange = whereToStart;
27
28 ArrayList<String> links = new ArrayList<>();
29
30 URL searchURL = new URL(String.format("https://www.googleapis.com/customsearch/v1?key=%s&cx=%s&searchType=%s&q=%s&num=%d&lowRange=%d"
31 , key, cx, searchType, query, num, lowRange));
32 HttpURLConnection conn = (HttpURLConnection) searchURL.openConnection();
33 conn.setRequestMethod("GET");
34 conn.setRequestProperty("Accept", "application/json");
35
36 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
37 String line;
38 System.out.println("Getting output from server.. \n");
39 System.out.println("Search Type: " + searchType + ", Query: " + query.replace("+", " ") + ", Low Range: " + lowRange + "\n");
40 while ((line = bufferedReader.readLine()) != null) {
41 if (line.contains("\"link\": \"")) {
42 String link = line.substring(line.indexOf("\"link\": \"") + ("\"link\": \"").length(), line.indexOf("\","));
43 links.add(link);
44 }
45 }
46 conn.disconnect();
47
48 return links;
49 }
50}
51