java - Google 自定义搜索 API : how to get search result contents description (e. g 片段)用于 URL

标签 java google-custom-search

我们如何获取使用 google 自定义搜索 API 检索到的 URL 的内容。 我是使用此类 API 的新手,并且在文档中没有给出可以解释它的示例代码。我正在使用 google-api-services-customsearch-v1-rev36-1.17.0-rc.jar 这是我的代码。

protected Result[] doSearch() {

    HttpRequestInitializer httpRequestInitializer = new HttpRequestInitializer(){   
        @Override
        public void initialize(HttpRequest request) throws IOException {
        }
    };

    JsonFactory jsonFactory = new JacksonFactory();
    Customsearch csearch = new Customsearch( new  NetHttpTransport(),  jsonFactory,  httpRequestInitializer);


    Customsearch.Cse.List listReqst = csearch.cse().list(query.getQueryString());
    listReqst.setKey(GOOGLE_KEY);
    // set the search engine ID got from API console
    listReqst.setCx("SEARCH_ENGINE_ID"); 

    // set the query string
    listReqst.setQ(query); //query contains search query string

    // language chosen is English for search results 
    listReqst.setLr("lang_en"); 
    // set hit position of first search result 
    listReqst.setStart((long) firstResult);  
    // set max number of search results to return
    listReqst.setNum((long) maxResults);

    Search result = list.execute();
    // perform search
}

这之后需要获取对应网站的snippets和url。我必须在这个函数中返回。我们如何检索它们。

最佳答案

在代码的最后一行,它执行查询、返回结果并将它们解析为“搜索”对象,如下所述:
https://developers.google.com/resources/api-libraries/documentation/customsearch/v1/java/latest/com/google/api/services/customsearch/model/Search.html

因此,要获取每个结果的 URL 和代码段,您只需执行以下操作:

List<Result> results = result.getItems();
for (Result r : results) {
  String url = r.getLink();
  String snippet = r.getSnippet();
}

要返回所有结果,按照上面的函数签名,您只需将列表转换为数组:

List<Result> results = result.getItems();
return results.toArray( new Result[results.size()] );

关于java - Google 自定义搜索 API : how to get search result contents description (e. g 片段)用于 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22789452/

相关文章:

c# - 从谷歌 API 获取不准确的谷歌搜索结果

java - 包名称更改导致永久权限问题

java - 如何修改默认的 Android 自动 Activity 栏

java - 如何在Java中通过两个for循环打印项目

java - PipedInputStream 和 PipedOutputStream 的用例

google-custom-search - 图像搜索期间 Google Custom Search API 的多个文件类型

google-oauth - 带有 Google 自定义搜索功能的 Google 附加链接搜索框

java - 在 Struts 中,如何将 key 中包含的值赋予 href

javascript - 限制 Google 自定义搜索引擎中的日期范围