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小程序
          主站蜘蛛池模板: 洛隆县| 井冈山市| 江孜县| 肥乡县| 鸡西市| 晴隆县| 乐东| 日喀则市| 嘉义市| 金沙县| 凤冈县| 涡阳县| 黑龙江省| 长子县| 刚察县| 许昌市| 安国市| 南川市| 绥滨县| 昌都县| 航空| 许昌市| 静宁县| 商都县| 应城市| 疏附县| 文化| 土默特左旗| 凤台县| 隆回县| 定日县| 淳化县| 兴安盟| 昌图县| 依安县| 灵寿县| 类乌齐县| 梁河县| 青田县| 石台县| 青河县|