Google Search API

Pessoal bom dia :D]

To pesquisando pra saber como usar a api do google search mas nao to conseguindo entender, alguem tem algum trecho de codigo usado ou sabe como me ajudar?
Tenho o seguinte codigo mas nao sei como utilizar…

[code]public static void main(String[] args) throws IOException, JSONException {

	String google = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";
    String search = "Buenos";
    String charset = "UTF-8";
	
	URL url = new URL( google + URLEncoder.encode(search, charset));
	URLConnection connection = url.openConnection();
	connection.addRequestProperty("Referer","www.clickon.com.br");

	String line;
	StringBuilder builder = new StringBuilder();
	BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
	while((line = reader.readLine()) != null) {
	 builder.append(line);
	}

		JSONObject json = new JSONObject(builder.toString());
		// now have some fun with the results...
		System.out.println(json);
	
	
}[/code]

A ideia era pesquisar sobre Buenos dentro do site do clickon, alguem me ajuda?

Alguem me ajuda?

Opa,

Eu conseguí fazer essa busca usando esse código:

String busca = URLEncoder.encode("site:www.clickon.com.br Buenos",
            "UTF-8");
      String searchString = new StringBuilder(
            "/ajax/services/search/web?v=1.0&q=%22").append(busca)
            .append("%22").toString();

      GetMethod getMethod = new GetMethod(searchString);
      HttpState httpState = new HttpState();
      HttpConnection httpConnection = new HttpConnection("ajax.googleapis.com",
            80);
      httpConnection.open();
      getMethod.setFollowRedirects(true);
      int result = getMethod.execute(httpState, httpConnection);

      if (result == 200) {
         List<URL> responseList = new ArrayList<>();
         JSONObject jsonObject = JSONObject.fromObject(getMethod
               .getResponseBodyAsString());
         JSONArray results = jsonObject.getJSONObject("responseData")
               .getJSONArray("results");
         for (int i = 0; i < results.size(); i++) {
            String urlCrua = results.getJSONObject(i).getString("unescapedUrl");
            URL url = new URL(urlCrua);
            responseList.add(url);
         }

         for (URL url : responseList) {
            System.out.println(url);
         }

      }

Usei commons http e a biblioteca de JSON que provavelmente é a que você já tem no seu código. Nota: eu não sei se esse código está certo, eu usei da maneira como eu usaria no site do Google, mesmo (com site:<espaço>). Além disso, essa busca sempre retorna só quatro resultados - se você quiser mais, tem que dar uma pesquisada de como retornar a mais.

[]'s

Alexandre obrigado por me ajudar, consegui buscar no clickon.

Aproveitando sua ajuda como faço pra buscar o conteudo do site no json? Estou usando o “content” mas veja so o que ele esta me retornando

<b>Buenos</b> Aires com preço imbatível: aéreo + 4 dias e 3 noites no Hotel   Promenade ou similar, por inacreditáveis 10 x de R$69,90. Saídas de São Paulo   e Porto <b>...</b>

Queria pegar a informação completa tem como?

Que eu saiba, não tem como. Essa descrição é a que a página do próprio Google traz, como um preview da busca. Se você quer o conteúdo completo, porque não faz, na sequencia, a carga da página completa diretamente nela?

Como faria isso Alexandre?

Como faria isso Alexandre?[/quote]

Usando o próprio commons-http, igualzinho à requisição da API do Google (ou seja, igual ao código que eu te mandei, acima).

[]'s

Como faria isso Alexandre?[/quote]

Usando o próprio commons-http, igualzinho à requisição da API do Google (ou seja, igual ao código que eu te mandei, acima).

[]'s[/quote]

Consegui pegar o conteudo todo Alexandre com o common-http hehe valeu!

Agora é so remover as tags html :smiley: