import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class GoogleSearch {
private static final String USER_AGENT = "Mozilla/5.0";
public static void main(String[] args) throws Exception {
String query = "osteopathe thionville"; // replace with your query
String searchEngineURL = "http://www.google.fr/search?q="; // replace with your Google engine
search(searchEngineURL, query);
System.out.println("Program terminated!");
}
public static void search(String searchEngineURL, String searchQuery) {
String charset = "UTF-8";
Elements links;
try {
String URL = searchEngineURL
+ URLEncoder.encode(String.format("%s", searchQuery),
charset);
System.out.format("%s\n\n", URL);
links = Jsoup.connect(URL).userAgent(USER_AGENT).get()
.select("li.g>h3>a");
int i = 0;
for (Element link : links) {
String title = link.text();
// Google returns URLs in format
// "http://www.google.com/url?q=<url>&sa=U&ei=<someKey>".
String url = link.absUrl("href");
url = URLDecoder.decode(
url.substring(url.indexOf('=') + 1, url.indexOf('&')),
"UTF-8");
if (!url.startsWith("http")) {
continue; // Ads/news/etc.
}
System.out.format("[%d] %s\n%s\n", i++, title, url);
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}