Google Search от Java пример на програма

Гугъл Търсене от Java: Пример за програма

Въведение

Гугъл Търсене е най-популярната търсачка в световен мащаб, използвана от милиарди хора всеки ден. Тя предоставя удобен начин за търсене на информация в мрежата, от новини и времето до факти и продукти. Като разработчици можем да използваме API за Гугъл Търсене, за да интегрираме функционалност за търсене в нашите приложения от Java.

Това ръководство ще ви преведе стъпка по стъпка през процеса на използване на API за Гугъл Търсене от Java, като осигури пример за програма за извършване на основно търсене. Ще разгледаме също и разширени функции като филтриране на резултатите и извличане на конкретна информация от резултатите.

Инсталиране на библиотеката

Първата стъпка е да инсталираме библиотеката на Java за API за Гугъл Търсене. За да направите това, добавете следната зависимост към вашия файл pom.xml:

xml
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-search</artifactId>
<version>2.1.5</version>
</dependency>

Аутентификация

След като библиотеката е инсталирана, трябва да удостоверим приложението си, за да получим достъп до API за Гугъл Търсене. Това може да стане чрез създаване на обслужващ акаунт. Инструкции стъпка по стъпка за създаване на обслужващ акаунт са налични в документацията на Гугъл.

След като създадете обслужващ акаунт, изтеглете частния му ключ и го съхранете на сигурно място.

Основно търсене

Сега, когато сме инсталирали библиотеката и сме удостоверили нашето приложение, нека да напишем проста програма за извършване на основно търсене на Гугъл Търсене от Java:

  Преглеждайте и сравнявайте версиите на прикачените файлове в нишките на Gmail [Chrome]

java
// Импортиране на необходимите класове
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.customsearch.v1.Customsearch;
import com.google.api.services.customsearch.v1.CustomsearchScopes;
import com.google.auth.http.HttpCredentialsAdapter;
import com.google.auth.oauth2.GoogleCredentials;

// Главен клас
public class GoogleSearchExample {

private static final String APPLICATION_NAME = "Google Search API Java Example";
private static final JsonFactory JSON_FACTORY = GsonFactory.getDefaultInstance();
private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();

public static void main(String[] args) throws IOException {
// Зареждане на идентификационни данни за обслужващ акаунт от файл
GoogleCredentials credentials = GoogleCredentials.fromStream(new FileInputStream("service-account-key.json"))
.createScoped(Collections.singleton(CustomsearchScopes.CLOUD_PLATFORM));

// Създаване на обслужващ обект за API за Гугъл Търсене
Customsearch customsearch = new Customsearch.Builder(HTTP_TRANSPORT, JSON_FACTORY, new HttpCredentialsAdapter(credentials))
.setApplicationName(APPLICATION_NAME)
.build();

// Изпълнение на заявка за търсене
Customsearch.Cse.List search = customsearch.cse().list("programming languages");
search.setQ("Java");
SearchResponse response = search.execute();

// Итерация през резултатите от търсенето
for (SearchResult result : response.getItems()) {
System.out.println("Заглавие: " + result.getTitle());
System.out.println("Връзка: " + result.getLink());
System.out.println("Откъс: " + result.getSnippet());
}
}
}

Филтриране на резултати

Можем да филтрираме резултатите от търсенето, за да ги направим по-подходящи. API за Гугъл Търсене предоставя различни филтри, които могат да се използват, като например:

* Филтър за безопасен търсене
* Филтър за конкретен тип файл
* Филтър за начална дата или дата на приключване

За да зададете филтър, просто добавете параметър към заявката за търсене. Например, за да филтрирате резултатите, така че да включват само изображения, използвайте параметъра fileType:

java
search.setFileType("image");

Извличане на конкретна информация

Освен обикновени текстови низове, API за Гугъл Търсене също ни позволява да извличаме структурирани данни от резултатите от търсенето. Това включва неща като имейл адреси, телефонни номера и физически адреси.

За да извлечем структурирани данни, използваме обекта EmbeddedPage:

java
EmbeddedPage embeddedPage = result.getPagemap().getEmbeddedPage()[0];
String emailAddress = embeddedPage.getContactPoint().get(0).getEmail();
String phoneNumber = embeddedPage.getContactPoint().get(0).getTelephone();

Заключение

API за Гугъл Търсене е мощен инструмент, който ни позволява да интегрираме функционалност за търсене в нашите Java приложения. Можем да извършваме основни търсения, да филтрираме резултатите и да извличаме структурирани данни, за да подобрим потребителското изживяване.

Като разширяваме нашите приложения с API за Гугъл Търсене, можем да осигурим на потребителите бърз и лесен достъп до информация, улеснявайки ги да намерят това, което търсят.

Често задавани въпроси

1. Колко струва използването на API за Гугъл Търсене?
Отговор: Използването на API за Гугъл Търсене е безплатно до определена лимита. След надвишаване на лимита се прилагат такси.

2. Необходима ли е аутентификация за използване на API за Гугъл Търсене?
Отговор: Да, за използване на API за Гугъл Търсене е необходима аутентификация. Това може да се направи чрез създаване на обслужващ акаунт.

3. Какви филтри могат да се използват за филтриране на резултатите от търсенето?
Отговор: API за Гугъл Търсене предоставя разнообразие от филтри, включително филтър за безопасен търсене, филтър за конкретен тип файл и филтър за начална дата или дата на приключване.

4. Как можем да извлечем структурирани данни от резултатите от търсенето?
Отговор: За да извлечем структурирани данни от резултатите от търсенето, използваме обекта EmbeddedPage.

5. Можем ли да запазваме резултатите от търсенето за по-късна употреба?
Отговор: Да, API за Гугъл Търсене позволява съхраняването на резултатите от търсенето за по-късна употреба. Това може да се направи чрез създаване на колекция от търсения и запазване на резултатите в колекцията.

6. Има ли ограничения за броя заявки за търсене, които можем да извършваме?
Отговор: Да, има ограничения за броя заявки за търсене, които можем да извършваме. Лимитът варира в зависимост от вида на заявката за търсене.

7. Как можем да се справим с грешки, възникнали при използването на API за Гугъл Търсене?
Отговор: За да се справим с грешки, възникнали при използването на API за Гугъл Търсене, можем да използваме обекта GoogleJsonResponseException. Този обект предоставя информация за грешката, включително код на грешката и съобщение за грешка.

8. Как можем да тестваме нашите приложения за търсене в Гугъл от Java, без да изпращаме действителни заявки?
Отговор: За да тестваме нашите приложения за търсене