Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2015, 22:31   #1
Alexandr056
 
Регистрация: 04.11.2015
Сообщений: 6
По умолчанию вопрос по google

доброго времени суток! прошу помощи, только начал учить java нужен совет, есть задача автоматом слать запросы к гуглу получать в результате ссылки и хешировать md5, пробовал разные варианты, например отправлял запрос через http://ajax.googleapis.com/ajax/serv...h/web?v=1.0&q= в браузере все более менее, результат можно распарсить, но вот в коде выдается кривой результат, далее прочитал про gson, но чет с ним не взлетело, прошу совета как реализовать, заранее спасибо.

Код:
public class Google {

	public static String RequestGoogle(){
		URL url;
	    InputStream is = null;
	    BufferedReader br;
	    String line;
	    String resultGoogle = "";
	    String google = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";
	    String search = "как стать программистом";
	    String charset = "UTF-8";
	    
	    try {
	    	url = new URL(google + URLEncoder.encode(search, charset));
	        is = url.openStream();  // throws an IOException
	        br = new BufferedReader(new InputStreamReader(is));

	        while ((line = br.readLine()) != null) {
	        //	System.out.println(line);
	           resultGoogle += line;
	        }
	   
		    
	    } catch (Exception e) {
         e.printStackTrace();
     } 
	    return resultGoogle;
	}	
	
}
с gson сложнее все, при необходимости выложу что есть
пример тут который не хочет работать
http://stackoverflow.com/questions/1...uest-with-java
Alexandr056 вне форума Ответить с цитированием
Старый 05.11.2015, 15:33   #2
Alexandr056
 
Регистрация: 04.11.2015
Сообщений: 6
По умолчанию

Апну темку, вопрос актуален, подсказка нужна!
Alexandr056 вне форума Ответить с цитированием
Старый 05.11.2015, 19:28   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Что не взлетело? Что шлете? Что приходит в ответ? Что ожидаете? В приведенной вами ссылке есть код, он вас работает?
p51x вне форума Ответить с цитированием
Старый 06.11.2015, 06:28   #4
Alexandr056
 
Регистрация: 04.11.2015
Сообщений: 6
По умолчанию

пример тут который не хочет работать
http://stackoverflow.com/questions/1...uest-with-java[/QUOTE]

отправляю запрос
String google = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";
String search = "как стать программистом";
String charset = "UTF-8"
url = new URL(google + URLEncoder.encode(search, charset));
в браузере если вставляю в строку адреса то результат меня устраивает, запускаю в программе результат отличается, 1 строка и все....писал уже выше...
Alexandr056 вне форума Ответить с цитированием
Старый 06.11.2015, 10:04   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Как связана ваша ссылка про гугло места и ваш поиск про программиста?

Для доступа к АПИ вы получи свой токен?

Почему не используете гугловскую либу для поиска?

Код:
import java.net.URLEncoder;
import java.net.URLDecoder;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class GSearch {
	public static void main(String[] args) {
		String google = "http://www.google.com/search?q=";
		String search = "как стать программистом";
		String charset = "UTF-8";
		String userAgent = "ExampleBot 1.0 (+http://example.com/bot)";

		try {
			Elements links = Jsoup.connect(google + URLEncoder.encode(search, charset)).userAgent(userAgent).get().select("li.g>h3>a");

			for (Element link : links) {
			    String title = link.text();
			    String url = link.absUrl("href");
			    url = URLDecoder.decode(url.substring(url.indexOf('=') + 1, url.indexOf('&')), "UTF-8");

			    if (!url.startsWith("http")) {
			        continue;
			    }

			    System.out.println("Title: " + title);
			    System.out.println("URL: " + url);
			}
		}
		catch(Exception ex){

		}
	}
}
У меня работает
p51x вне форума Ответить с цитированием
Старый 06.11.2015, 18:58   #6
Alexandr056
 
Регистрация: 04.11.2015
Сообщений: 6
По умолчанию

Как связана ваша ссылка про гугло места и ваш поиск про программиста?

это пример, как формируется полная строка запроса т.е. запрос к гуглу как стать программистом...

Для доступа к АПИ вы получи свой токен?
эм.... а чуть подробнее про токен?

Почему не используете гугловскую либу для поиска?
гугловскую библиотеку?)
Alexandr056 вне форума Ответить с цитированием
Старый 06.11.2015, 19:01   #7
Alexandr056
 
Регистрация: 04.11.2015
Сообщений: 6
По умолчанию

и у меня работает... блин спасибо большое...щас буду смотреть в чем разница и найду у себя ошибки
Alexandr056 вне форума Ответить с цитированием
Старый 06.11.2015, 19:16   #8
Alexandr056
 
Регистрация: 04.11.2015
Сообщений: 6
По умолчанию

ajax использовал потому что сначала тести просто результат, без парсинга, и там был всякий шлак...наверное опять что-то не так делал
Alexandr056 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос даты из формы Google в календарь Google. (Google Apps) katalnikov Фриланс 2 24.11.2012 22:42
Инструмент из google plus... USU/3.14 JavaScript, Ajax 2 23.07.2012 15:20
Google+ russian-stalker Свободное общение 52 15.07.2011 22:08
IdHTTP и Google, Ошибка при запросе к серверу google s2dent Общие вопросы C/C++ 0 28.09.2010 19:47