De acuerdo con el código fuente HTML de http://google.com el botón "Me siento afortunado" tiene un nombre de btnI
:
<input value="I'm Feeling Lucky" name="btnI" type="submit" onclick="..." />
lo tanto, sólo añadiendo el parámetro btnI
a la cadena de consulta debe hacer (el valor no importa):
http://www.google.com/search?hl=en&btnI=1&q=your+search+term
lo tanto, esto debería hacer Jsoup:
String url = "http://www.google.com/search?hl=en&btnI=1&q=balusc";
Document document = Jsoup.connect(url).get();
System.out.println(document.title());
Sin embargo, esto dio un error de 403 (Forbidden).
Exception in thread "main" java.io.IOException: 403 error loading URL http://www.google.com/search?hl=en&btnI=1&q=balusc
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:387)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:364)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:143)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:132)
at test.Test.main(Test.java:17)
Quizás Google estaba olfateando el agente de usuario y descubriendo que era Java. Por lo tanto, lo cambié:
String url = "http://www.google.com/search?hl=en&btnI=1&q=balusc";
Document document = Jsoup.connect(url).userAgent("Mozilla").get();
System.out.println(document.title());
Este rendimientos (como se esperaba):
El Código BalusC
El 403 es sin embargo un indicio de que Google no es necesariamente feliz con los robots como eso. Es posible que tenga (temporalmente) prohibido el IP cuando lo hace con demasiada frecuencia.
¿Quiere decir JSONP? La API de búsqueda de Google es http://code.google.com/apis/customsearch/v1/overview.html – ceejayoz
@Ceejayoz: coloque el mouse sobre la etiqueta '[jsoup]' debajo de la pregunta hasta que aparezca una ventana emergente y luego haga clic en * información * enlace para obtener más información. – BalusC
@BalusC Diría que fue una solicitud bastante justa de aclaración, teniendo en cuenta el contenido de la pregunta y el JSOUP con mayúsculas y una sola letra. – ceejayoz