Læse search results fra Google
Vil lave et lille tool, hvor det skal være muligt at taste sit website samt søgeord ind, hvorefter det finder ud af hvilken side i Google man ligger på, på de indtastede søgeord.Er dog løbet ind i problemer med Google, som smider en 403 tilbage. Har læst det er en sikkerhed, men handler nok bare om de ikke tillader bots af den art. Hvad blev der af "Do no evil"? ;)
I første omgang vil jeg bare læse en HTTP-side i Java. Kan sagtens læse google.com, men ikke eks. http://www.google.dk/search?hl=da&q=eksperten&btnG=Google-s%C3%B8gning&meta=&aq=f&oq=
Har testet det på Live, Yahoo, Altavista og Jubii, hvor det virker fint med search strings.
Source
----------------------------------
import java.net.*;
import java.io.*;
public class URLConnectionReader {
public static void main(String[] args) throws Exception {
URL google = new URL("http://google.com/");
URL google2 = new URL("http://google.com/search?q=Eksperten&hl=da&start=0&sa=N");
URLConnection uc = google2.openConnection();
BufferedReader in = new BufferedReader(
new InputStreamReader(
uc.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
----------------------------------
Output
----------------------------------
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.google.com/search?q=Eksperten&hl=da&start=0&sa=N
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
at URLConnectionReader.main(URLConnectionReader.java:10)
Java Result: 1
----------------------------------
Nogen idé til hvordan dette omgås? Har før set et lignende tool, men kan ikke finde det, og vil egentlig gerne lave mit eget.