Java Google自定义搜索API:如何获取URL的搜索结果内容描述(例如代码片段)
我们如何获得使用谷歌自定义搜索API检索的URL的内容。 我对使用这样的API是新手,在文档中没有给出这样的示例代码来解释它。我正在使用google-api-services-customsearch-v1-rev36-1.17.0-rc.jar 这是我的密码Java Google自定义搜索API:如何获取URL的搜索结果内容描述(例如代码片段),java,google-custom-search,Java,Google Custom Search,我们如何获得使用谷歌自定义搜索API检索的URL的内容。 我对使用这样的API是新手,在文档中没有给出这样的示例代码来解释它。我正在使用google-api-services-customsearch-v1-rev36-1.17.0-rc.jar 这是我的密码 protected Result[] doSearch() { HttpRequestInitializer httpRequestInitializer = new HttpRequestInitializer(){
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
}
在此之后,需要获取相应网站的代码片段和URL。我必须在这个函数中返回。我们如何检索它们。在代码的最后一行,它执行查询,返回结果,并将其解析为“搜索”对象,如下所述:
因此,要获取每个结果的URL和代码段,只需执行以下操作:
List<Result> results = result.getItems();
for (Result r : results) {
String url = r.getLink();
String snippet = r.getSnippet();
}
List results=result.getItems();
对于(结果r:结果){
字符串url=r.getLink();
String snippet=r.getSnippet();
}
根据上面的函数符号,要返回所有结果,只需将列表转换为数组:
List<Result> results = result.getItems();
return results.toArray( new Result[results.size()] );
List results=result.getItems();
返回results.toArray(新结果[results.size()]);
谢谢您的帮助。我尝试使用此列表results=result.getItems();但是得到这个错误:Customsearch.Cse.List类型不是泛型的;不能使用参数对其进行参数化。在快速修复中,它要求删除参数。我对你的评论感到困惑-这行应该可以。确实使用了正确的“列表”:java.util.List?yup错误已修复。这是因为列表的导入发生冲突。通过将其写入java.uti.List results=result.getItems()进行修复;