Explorar el Código

新高考&非新高考的院校线

jinxia.mo hace 3 años
padre
commit
f28372f94a

+ 10 - 0
src/main/java/com/mingxue/spider/dto/User.java

@@ -12,6 +12,7 @@ public class User {
     private String url;
     private String host;
     private Boolean isHn;
+    private Boolean isNewGaokao;
 
     public String getCode() {
         return code;
@@ -76,6 +77,15 @@ public class User {
         return this;
     }
 
+    public Boolean getIsNewGaokao() {
+        return isNewGaokao;
+    }
+
+    public User setIsNewGaokao(Boolean isNewGaokao) {
+        this.isNewGaokao = isNewGaokao;
+        return this;
+    }
+
     @Override
     public String toString() {
         return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);

+ 2 - 2
src/main/java/com/mingxue/spider/utils/ApiUtil.java

@@ -147,8 +147,8 @@ public class ApiUtil {
         }
     }
 
-    public Boolean login(String code, String password, Boolean isHn) {
-        return login(new User().setCode(code).setPassword(password).setIsHn(isHn));
+    public Boolean login(String code, String password, Boolean isHn,Boolean isNewGaokao) {
+        return login(new User().setCode(code).setPassword(password).setIsHn(isHn).setIsNewGaokao(isNewGaokao));
     }
 
     /**

+ 1 - 1
src/main/java/com/mingxue/spider/utils/UserUtil.java

@@ -41,7 +41,7 @@ public class UserUtil {
             initUserInfo();
         }
         User user = list.remove(0);
-        user.setIsHn(true);
+        user.setIsHn(true).setIsNewGaokao(true);
         current = user;
         list.add(user);
         return user;

+ 26 - 13
src/test/java/spider/CollegeData.java

@@ -39,11 +39,11 @@ public class CollegeData {
 //        collegeList();
 //        generateNineDate();
 //         广东账号:18774924158,密码:123456
-//         ApiUtil.getInstance().login("18774924158", "123456",false);
+//         ApiUtil.getInstance().login("18774924158", "123456",false,true);
 //         湖北账号:18674898114, 密码:123456
-         ApiUtil.getInstance().login("18674898114", "123456",false);
+         ApiUtil.getInstance().login("18674898114", "123456",false,true);
         // 江西账号:13203226079,密码:123456
-//        ApiUtil.getInstance().login("13203226079", "123456",false);
+//        ApiUtil.getInstance().login("13203226079", "123456",false,false);
         collegeList();
 //         getCategoryMajor();
     }
@@ -52,7 +52,7 @@ public class CollegeData {
 //        int count = 0, total = 5000, page = 79;
         Integer ProvinceId=17;
         String Location="湖北";//湖北的1-5页之前需要修正ProvinceId,表示学校所在省份
-        int count = 0, total = 5000, page = 6;
+        int count = 0, total = 5000, page = 47;
         JSONObject res=new JSONObject();
         do {
             try {
@@ -92,13 +92,22 @@ public class CollegeData {
                     List<Integer> liberalScienceList= Arrays.asList(0,1);
                     List<Integer> typeList= Arrays.asList(2,3);
                     for(Integer liberalScience:liberalScienceList){
-                        /**
-                         * 院校录取数据
-                         */
-                        for(Integer type:typeList){
-                            byHistoryNew(collegeId,liberalScience,type,Location,ProvinceId);
+                        if(ApiUtil.getInstance().getUser().getIsNewGaokao()){
+                            /**
+                             * 院校录取数据:新高考
+                             */
+                            for(Integer type:typeList){
+                                byHistoryNew(collegeId,liberalScience,type,Location,ProvinceId);
+                            }
+                        }else {
+                            /**
+                             * 院校录取数据:非新高考
+                             * type 类型,普通省份(非新高考)不传或传1
+                             */
+                            byHistoryNew(collegeId,liberalScience,1,Location,ProvinceId);
                         }
 
+
                         /**
                          * 专业录取数据
                          */
@@ -111,7 +120,7 @@ public class CollegeData {
                     processColledgeCount++;
 
                     ThreadUtil.safeSleep(1 * 1000);
-                    log.error("学校 {}, {}, 耗时{}",collegeId,row.getString("collegeName"),DateUtil.formatBetween(System.currentTimeMillis() - start));
+                    log.error("{} 学校 {}, {}, 耗时{}",i+1,collegeId,row.getString("collegeName"),DateUtil.formatBetween(System.currentTimeMillis() - start));
                 }
                 log.error("已完成page={}, 开始第{}页" ,page,(page+1));
                 count = page * 15;
@@ -160,7 +169,13 @@ public class CollegeData {
 //        ThreadUtil.safeSleep(2 * 1000);
 
         StringBuilder sb = new StringBuilder(host);
-        sb.append("/query/collegeScore/byHistoryNew");
+        if(ApiUtil.getInstance().getUser().getIsNewGaokao()){
+            //新高考
+            sb.append("/query/collegeScore/byHistoryNew");
+        }else {
+            //非新高考
+            sb.append("/query/collegeScore/byHistory");
+        }
         sb.append("?liberalScience=").append(liberalScience);
         sb.append("&collegeId=").append(collegeId);
         sb.append("&type=").append(type);
@@ -279,8 +294,6 @@ public class CollegeData {
                 sb = new StringBuilder(host);
                 if(queryType==2){
                     sb.append("/query/majorScore/byCollege");
-                    //没有2021
-                    if(year==2021) continue;
                 }else if(queryType==3){
                     sb.append("/query/majorPlan/byCollege");