march alex's blog
          hello,I am march alex
          posts - 52,comments - 7,trackbacks - 0
          目前做到能分析POJ和HDU的代碼。ZOJ的話因為他存儲用戶的方式是一個數字序列,而不是用戶的id,所以暫時沒有想到解決方案。
          這里用到了之前提到的獲取網頁源代碼的URLAnalysis類。
          getPOJSolved方法用于獲得POJ上的解題數;
          getHDUSolved方法用于獲得HDU上的解題數;
          names數組存放感興趣的用戶。
          代碼如下:
          import java.io.BufferedReader;
          import java.io.InputStreamReader;
          import java.net.HttpURLConnection;
          import java.net.URL;


          public class OnlineJudgeFinder {
              
              private static String[] names = {"watashi", "hanfei19910905", "marchalex"};
              
              public static String getPOJSolved(String userId) throws Exception {
                  String urlString = "http://poj.org/userstatus?user_id=" + userId;
                  URL url = new URL(urlString);
                  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                  BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                  String line = null;
                  for(int i=0;i<10;i++)
                      line = reader.readLine();
                  int len = line.length();
                  int i , cnt = 0;
                  for(i=0;i<len;i++) {
                      if(line.charAt(i) == '>') {
                          cnt ++;
                          if(cnt == 2)
                              break;
                      }
                  }
                  i ++;
                  String num = "";
                  while(i < len && line.charAt(i) >= '0' && line.charAt(i) <= '9') {
                      num += line.charAt(i);
                      i ++;
                  }
                  return num;
              }
              public static String getHDUSolved(String userId) throws Exception {
                  String urlString = "http://acm.hdu.edu.cn/userstatus.php?user=" + userId;
                  URL url = new URL(urlString);
                  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                  BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                  String line = null;
                  for(int i=0;i<105;i++)
                      line = reader.readLine();
                  int len = line.length();
                  int i , cnt = 0;
                  for(i=0;i<len;i++) {
                      if(line.charAt(i) == '>') {
                          cnt ++;
                          if(cnt == 4)
                              break;
                      }
                  }
                  i ++;
                  String num = "";
                  while(i < len && line.charAt(i) >= '0' && line.charAt(i) <= '9') {
                      num += line.charAt(i);
                      i ++;
                  }
                  return num;
              }
              public static void getResult() throws Exception {
                  int n = names.length;
                  for(int i=0;i<n;i++) {
                      String name = names[i];
                      System.out.println(name + " has solved ");
                      System.out.println("\t" + getPOJSolved(name) + " problem(s) in POJ");
                      System.out.println("\t" + getHDUSolved(name) + " problem(s) in HDU");
                  }
              }
              public static void main(String[] args) throws Exception {
                  getResult();
              }
          }
          效果如下:
          watashi has solved 
          32 problem(s) in POJ
          7 problem(s) in HDU
          hanfei19910905 has solved 
          131 problem(s) in POJ
          212 problem(s) in HDU
          marchalex has solved 
          1 problem(s) in POJ
          15 problem(s) in HDU
          posted on 2015-02-13 13:30 marchalex 閱讀(234) 評論(0)  編輯  收藏 所屬分類: java小程序
          主站蜘蛛池模板: 东阳市| 江华| 行唐县| 锦州市| 固原市| 石景山区| 乾安县| 金溪县| 资兴市| 万年县| 永春县| 抚宁县| 朝阳区| 黄平县| 旌德县| 永康市| 康乐县| 嘉鱼县| 辽宁省| 海宁市| 康马县| 兴隆县| 炉霍县| 界首市| 眉山市| 右玉县| 新宁县| 万盛区| 宣化县| 海林市| 砚山县| 阿拉善左旗| 府谷县| 玛多县| 鄯善县| 石渠县| 西林县| 象山县| 金门县| 繁峙县| 邯郸市|