有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Google Web Search API为不同搜索中的相同查询字符串返回随机结果

大家好,我正在进行一个项目,我正在使用谷歌网络搜索API进行网络搜索。它以随机方式工作,在不同的搜索中为同一查询字符串生成不同的结果集。问题是什么。 请尽快回复。我只过滤特定网站的建议结果。 这是我的WebSearch代码。 “是的

public Map getSearchArray(String search_key) throws Exception
{
        Reader reader = null;
        GoogleResults results = null;
        URL url = null;
        int index=0;
        int result_size=0;
        Map search_result_map = new HashMap();

        try {
            logger.info("Inside GetSearch");
            for (int i = 0; i < 20 ; i=i+4) {
                String google = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&start="+i+"&q=";
                String charset = "UTF-8";
                url = new URL(google + URLEncoder.encode(search_key, charset));
                reader = new InputStreamReader(url.openStream(), charset);
                results = new Gson().fromJson(reader, GoogleResults.class);
                //logger.info("resultSize: "+results.getResponseData().getResults().size());
                //System.out.println("total"+t);
                if (results.getResponseData().getResults().size()!=0) {
                    result_size = results.getResponseData().getResults().size();
                } else {
                    result_size = 1;
                }

                for (int m = 0; m <result_size; m++)
                {
                    String a=results.getResponseData().getResults().get(m).getUrl();
                    System.out.println(a);
                    if(a.matches(".*food.Some-Website.*")
                                ||a.matches(".*Some-Website.*")
                                ||a.matches(".*Some-Website.*")
                                ||a.matches(".*Some-Website.*")
                    {
                        logger.info("----I----"+i+"----M----"+m);
                        String title = results.getResponseData().getResults().get(m).getTitle().replaceAll("\\<[^>]*>","");
                        String url_link = results.getResponseData().getResults().get(m).getUrl();
                        String embeded_link = createEmbeddedLink(url_link, title, "http");
                        search_result_map.put("link_"+index, embeded_link);
                        search_result_map.put("title_"+index, title);
                        index++;
                        logger.info("Title "+title);
                    }
                    else
                    {
                        System.out.println("No Url");
                    }
                    }
                }
            } catch (Exception e)
            {
                logger.info("Exception Thrown");
            }
        finally {
            return search_result_map;
        }
    }

`


共 (0) 个答案