Как удалить 503 исключения в Java

У меня есть список имен в виде CSV, и я готов к поиску в Google этих имен с использованием Java. Но проблема, с которой я сталкиваюсь, заключается в том, что когда я первоначально запускаю код, я могу искать запрос, но в середине кода код начинает выдавать 503 исключения, а когда я снова запускаю код, он начинает выдавать 503 исключения из самое начало. Вот код, который я использую.

public class ExtractInformation 
{
  static String firstname,middlename,lastname;  
  public static final int PAGE_NUMBERS = 10;
  public static void readCSV()
  {
      boolean first = true;
      try
      {
          String splitBy = ",";
          BufferedReader br = new BufferedReader(new FileReader("E:\\KOLDump\\names.csv"));
          String line = null;
          String site = null;

          while((line=br.readLine())!=null)
          {
              if(first)
              {
                  first = false;
                  continue;
              }
              String[] b = line.split(splitBy);
              firstname  = b[0];
              middlename = b[1];
              lastname   = b[2];
              String name = null;
              if(middlename == null || middlename.length() == 0)
              {
                   name = firstname+" "+lastname+" OR "+lastname+" "+firstname.charAt(0);
              }
              else
              {
                  name = firstname+" "+lastname+" OR "+lastname+" "+firstname.charAt(0)+" OR "+firstname+" "+middlename.charAt(0)+". "+lastname;
              }
              BufferedReader brs = new BufferedReader(new FileReader("E:\\KOLDump\\site.csv"));
              while((site = brs.readLine()) != null)
              {
                  if(first)
                  {
                      first = false;
                      continue;
                  }
                  String [] s = site.split(splitBy);
                  String siteName = s[0];
                  siteName = (siteName.replace("www.", ""));
                  siteName = (siteName.replace("http://", ""));
                  getDataFromGoogle(name.trim(), siteName.trim());
              }
              brs.close();
          }
          //br.close();

      }
      catch(Exception e)
      {
          System.out.println("unable to read file...some problem in the csv");
      }

  }
  public static void main(String[] args) 
  {
      readCSV();
  }

  private static void getDataFromGoogle(String query,String siteName) 
  {        
       Set<String> result = new HashSet<String>();   
       String request = "http://www.google.co.in/search?q="+query+" "+siteName;       
       try 
       {
            Document doc = Jsoup.connect(request).userAgent("Chrome").timeout(10000).get();
            Element query_results = doc.getElementById("ires");
            Elements gees = query_results.getElementsByClass("g");
            for(Element gee : gees)
            {
                Element h3 = gee.getElementsByTag("h3").get(0);
                String annotation = h3.getElementsByTag("a").get(0).attr("href"); 
                if(annotation.split("q=",2)[1].contains(siteName))
                {
                    System.out.println(annotation.split("q=",2)[1]);
                }
            }

       } 
       catch (IOException e) 
       {
             e.printStackTrace();
       }     
}       

}

любые предложения о том, как удалить эти исключения из кода, будут действительно полезны.

1 ответ

Если вы немного подождете, уйдут ли 503? Если это так, то вы, вероятно, ограничены в скорости Google. https://support.google.com/gsa/answer/2686272?hl=en

Возможно, вам придется поместить некоторую задержку между запросами.

Другие вопросы по тегам