Forráskód Böngészése

Merge branch 'test' of https://gitee.com/hcst/adsp-boot into test

syh 5 éve
szülő
commit
a51e0cbb9b

+ 1 - 1
module-crawler/src/main/java/cn/com/ctop/crawler/modules/appium/service/impl/AppiumTaskServiceImpl.java

@@ -52,7 +52,7 @@ public class AppiumTaskServiceImpl extends ServiceImpl<AppiumTaskMapper, AppiumT
         List<AppiumTaskItem> taskItemList = iAppiumTaskItemService.initTaskItemList(taskId, null);
         AppiumUtil appiumUtil = new AppiumUtil();
         try {
-            AndroidDriver androidDriver = appiumUtil.initAndroidDriver("http://127.0.0.1:4723/wd/hub", appiumDevice.getIp() + ":" + appiumDevice.getPort(), task.getAppPackage(), task.getAppActivity());
+            AndroidDriver androidDriver = appiumUtil.initAndroidDriver("http://39.106.184.70:4723/wd/hub", appiumDevice.getIp() + ":" + appiumDevice.getPort(), task.getAppPackage(), task.getAppActivity());
             if (taskItemList != null && taskItemList.size() > 0) {
                 for (AppiumTaskItem appiumTaskItem : taskItemList) {
                     appiumUtil.runTask(androidDriver, appiumTaskItem, null);

+ 338 - 8
module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/AppiumUtil.java

@@ -71,39 +71,77 @@ public class AppiumUtil {
         return desiredCapabilities;
     }
 
+    public static void main(String[] args) {
+        AppiumUtil appiumUtil = new AppiumUtil();
+        try {
+            AndroidDriver androidDriver = appiumUtil.initAndroidDriver("http://39.106.184.70:4723/wd/hub", "183.131.157.66:10005", "com.smile.gifmaker", "com.yxcorp.gifshow.HomeActivity");
+            appiumUtil.loginKuaishou(androidDriver);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
     public void loginKuaishou(AndroidDriver androidDriver) {
         try {
+            Thread.sleep(3000L);
+            WebElement closeBtn1 = getElementById(androidDriver, "com.smile.gifmaker:id/close_iv");
+            if (closeBtn1 != null) {
+                closeBtn1.click();
+            }
             for (int i = 0; i < 5; i++) {
                 Thread.sleep(3000L);
                 permissionAllow(androidDriver);
             }
+            Thread.sleep(3000);
+            WebElement continueBtn1 = getElementById(androidDriver, "com.smile.gifmaker:id/positive");
+            if (continueBtn1 != null) {
+                continueBtn1.click();
+            }
             for (int i = 0; i < 3; i++) {
                 Thread.sleep(3000L);
                 closeBtnClick(androidDriver);
             }
             WebElement loginBtn = getElementById(androidDriver, "com.smile.gifmaker:id/left_text");
-            if (loginBtn != null && loginBtn.equals("登陆")) {
+            System.out.println(loginBtn.getText());
+            if (loginBtn != null && loginBtn.getText().equals("登录")) {
                 loginBtn.click();
+                Thread.sleep(3000L);
+
+                WebElement mobileLoginBtn = getElementById(androidDriver, "com.smile.gifmaker:id/phone_login_view");
+                if (mobileLoginBtn != null) {
+                    mobileLoginBtn.click();
+                    Thread.sleep(2000L);
+                }
                 WebElement mobileInput = getElementById(androidDriver, "com.smile.gifmaker:id/login_name_et");
-                WebElement nextBtn = getElementById(androidDriver, "com.smile.gifmaker:id/next_view");
+                WebElement loginTypeBtn = getElementById(androidDriver, "com.smile.gifmaker:id/phone_one_key_login_btn");
+                WebElement mobileLogin = getElementById(androidDriver, "com.smile.gifmaker:id/phone_et");
                 if (mobileInput != null) {
                     String token = KuaimiUtil.kuaimiLogin();
                     String mobile = KuaimiUtil.getMobile(token, "2307");
                     mobileInput.sendKeys(mobile);
                     Thread.sleep(2000L);
+                    WebElement nextBtn = getElementById(androidDriver, "com.smile.gifmaker:id/next_view");
                     nextBtn.click();
-                    Thread.sleep(2000L);
+                    Thread.sleep(5000L);
+                    WebElement pintu = getElementById(androidDriver, "com.smile.gifmaker:id/title_tv");
+                    if (pintu != null && pintu.getText().equals("拖动滑块")) {
+                        WebElement leftBtn1 = getElementById(androidDriver, "com.smile.gifmaker:id/left_btn");
+                        leftBtn1.click();
+                        return;
+                    }
                     WebElement loginTitle = getElementById(androidDriver, "com.smile.gifmaker:id/login_title_tv");
                     WebElement forgetBtn = getElementById(androidDriver, "com.smile.gifmaker:id/forget_psd_btn");
-                    if (loginTitle != null && loginTitle.equals("输入密码")) {
+                    WebElement captcha = getElementById(androidDriver, "com.smile.gifmaker:id/captcha_et");
+                    if (loginTitle != null && loginTitle.getText().equals("输入密码")) {
                         forgetBtn.click();
                         Thread.sleep(2000L);
                         WebElement sendMsgBtn = getElementById(androidDriver, "com.smile.gifmaker:id/verify_tv");
                         sendMsgBtn.click();
                         Thread.sleep(5000L);
                         int i = 0;
+                        String msg = null;
                         while (i < 20) {
-                            String msg = null;
                             try {
                                 msg = KuaimiUtil.getMessage(token, "2307", mobile);
                             } catch (Exception e) {
@@ -116,6 +154,11 @@ public class AppiumUtil {
                                 WebElement confirmBtn = getElementById(androidDriver, "com.smile.gifmaker:id/confirm_btn");
                                 confirmBtn.click();
                                 Thread.sleep(2000);
+                                WebElement resetSelect = getElementById(androidDriver, "com.smile.gifmaker:id/avatar_layout_one");
+                                if (resetSelect != null) {
+                                    resetSelect.click();
+                                    Thread.sleep(2000);
+                                }
                                 WebElement newPwdInput = getElementById(androidDriver, "com.smile.gifmaker:id/login_psd_et");
                                 newPwdInput.sendKeys("a123456");
                                 Thread.sleep(2000);
@@ -126,7 +169,26 @@ public class AppiumUtil {
                                 if (continueBtn != null) {
                                     continueBtn.click();
                                 }
+                                for (int j = 0; j < 3; j++) {
+                                    Thread.sleep(3000);
+                                    WebElement leftBtn = getElementById(androidDriver, "com.smile.gifmaker:id/left_btn");
+                                    if (leftBtn != null) {
+                                        leftBtn.click();
+                                    }
+                                }
+
                                 Thread.sleep(3000);
+                                WebElement headImg = getElementById(androidDriver, "com.smile.gifmaker:id/tab_avatar");
+                                if (headImg != null) {
+                                    headImg.click();
+                                    Thread.sleep(3000);
+                                    tapPoint(androidDriver, 650, 400);
+                                    Thread.sleep(3000);
+//                                    WebElement qrCode = getElementById(androidDriver,"com.smile.gifmaker:id/qr_code_image");
+//                                    qrCode.click();
+                                    WebElement kwid = getElementById(androidDriver, "com.smile.gifmaker:id/kwai_id");
+                                    System.out.println(kwid.getText());
+                                }
 
                                 break;
                             }
@@ -136,11 +198,274 @@ public class AppiumUtil {
                         if (i == 20) {
                             KuaimiUtil.addBlackList(token, "2307", mobile);
                         }
+                    } else if (captcha != null) {
+                        int i = 0;
+                        String msg = null;
+                        while (i < 20) {
+
+                            try {
+                                msg = KuaimiUtil.getMessage(token, "2307", mobile);
+                            } catch (Exception e) {
+                                System.out.println("等待" + mobile + "短信验证码");
+                            }
+                            if (msg != null) {
+                                Thread.sleep(2000);
+                                WebElement captchaInput = getElementById(androidDriver, "com.smile.gifmaker:id/captcha_et");
+                                captchaInput.sendKeys(msg);
+                                WebElement captchaConfirm = getElementById(androidDriver, "com.smile.gifmaker:id/captcha_finish");
+                                Thread.sleep(5000);
+                                captchaConfirm.click();
+                                System.out.println(msg);
+                                Thread.sleep(5000);
+                                WebElement icon = getElementByXpath(androidDriver, "//android.widget.ImageView[@content-desc=\"头像\"]");
+                                if (icon != null) {
+                                    icon.click();
+                                }
+                                Thread.sleep(3000);
+                                WebElement continueBtn = getElementById(androidDriver, "com.smile.gifmaker:id/positive");
+                                if (continueBtn != null) {
+                                    continueBtn.click();
+                                }
+                                for (int j = 0; j < 3; j++) {
+                                    Thread.sleep(3000);
+                                    WebElement leftBtn = getElementById(androidDriver, "com.smile.gifmaker:id/left_btn");
+                                    if (leftBtn != null) {
+                                        leftBtn.click();
+                                    }
+                                }
+                                Thread.sleep(3000);
+                                WebElement headImg = getElementById(androidDriver, "com.smile.gifmaker:id/tab_avatar");
+                                if (headImg != null) {
+                                    headImg.click();
+                                    Thread.sleep(3000);
+                                    tapPoint(androidDriver, 650, 400);
+                                    Thread.sleep(3000);
+//                                    WebElement qrCode = getElementById(androidDriver,"com.smile.gifmaker:id/qr_code_image");
+//                                    qrCode.click();
+                                    WebElement kwid = getElementById(androidDriver, "com.smile.gifmaker:id/kwai_id");
+                                    System.out.println(kwid.getText());
+                                }
+                                //封禁
+                                break;
+                            }
+                            i++;
+                            Thread.sleep(5000);
+                        }
+                        if (i == 20) {
+                            KuaimiUtil.addBlackList(token, "2307", mobile);
+                        }
                     }
                 }
+                if (loginTypeBtn != null) {
+                    loginTypeBtn.click();
+                    Thread.sleep(5000);
+                    mobileInput = getElementById(androidDriver, "com.smile.gifmaker:id/login_name_et");
+                    if (mobileInput != null) {
+                        String token = KuaimiUtil.kuaimiLogin();
+                        String mobile = KuaimiUtil.getMobile(token, "2307");
+                        mobileInput.sendKeys(mobile);
+                        Thread.sleep(2000L);
+                        WebElement nextBtn = getElementById(androidDriver, "com.smile.gifmaker:id/next_view");
+                        nextBtn.click();
+                        Thread.sleep(5000L);
+                        WebElement pintu = getElementById(androidDriver, "com.smile.gifmaker:id/title_tv");
+                        if (pintu != null && pintu.getText().equals("拖动滑块")) {
+                            WebElement leftBtn1 = getElementById(androidDriver, "com.smile.gifmaker:id/left_btn");
+                            leftBtn1.click();
+                            return;
+                        }
+                        WebElement loginTitle = getElementById(androidDriver, "com.smile.gifmaker:id/login_title_tv");
+                        WebElement forgetBtn = getElementById(androidDriver, "com.smile.gifmaker:id/forget_psd_btn");
+                        WebElement captcha = getElementById(androidDriver, "com.smile.gifmaker:id/captcha_et");
+                        if (loginTitle != null && loginTitle.getText().equals("输入密码")) {
+                            forgetBtn.click();
+                            Thread.sleep(2000L);
+                            WebElement sendMsgBtn = getElementById(androidDriver, "com.smile.gifmaker:id/verify_tv");
+                            sendMsgBtn.click();
+                            Thread.sleep(5000L);
+                            int i = 0;
+                            String msg = null;
+                            while (i < 20) {
+                                try {
+                                    msg = KuaimiUtil.getMessage(token, "2307", mobile);
+                                } catch (Exception e) {
+                                    System.out.println("等待" + mobile + "短信验证码");
+                                }
+                                if (msg != null) {
+                                    WebElement captchrInput = getElementById(androidDriver, "com.smile.gifmaker:id/verify_et");
+                                    captchrInput.sendKeys(msg);
+                                    Thread.sleep(5000);
+                                    WebElement confirmBtn = getElementById(androidDriver, "com.smile.gifmaker:id/confirm_btn");
+                                    confirmBtn.click();
+                                    Thread.sleep(5000);
+                                    WebElement newPwdInput = getElementById(androidDriver, "com.smile.gifmaker:id/login_psd_et");
+                                    newPwdInput.sendKeys("a123456");
+                                    Thread.sleep(5000);
+                                    WebElement confirmBtn2 = getElementById(androidDriver, "com.smile.gifmaker:id/confirm_btn");
+                                    confirmBtn2.click();
+                                    Thread.sleep(3000);
+                                    WebElement continueBtn = getElementById(androidDriver, "com.smile.gifmaker:id/positive");
+                                    if (continueBtn != null) {
+                                        continueBtn.click();
+                                    }
+                                    for (int j = 0; i < 3; j++) {
+                                        Thread.sleep(3000);
+                                        WebElement leftBtn = getElementById(androidDriver, "com.smile.gifmaker:id/left_btn");
+                                        leftBtn.click();
+                                    }
+
+                                    WebElement headImg = getElementById(androidDriver, "com.smile.gifmaker:id/tab_avatar");
+                                    if (headImg != null) {
+                                        headImg.click();
+                                        Thread.sleep(3000);
+                                        WebElement qrCode = getElementById(androidDriver, "com.smile.gifmaker:id/qr_code_image");
+                                        qrCode.click();
+                                        WebElement kwid = getElementById(androidDriver, "com.smile.gifmaker:id/kwai_id");
+                                        System.out.println(kwid.getText());
+                                    }
+                                    //封禁判断
+                                    break;
+                                }
+                                i++;
+                                Thread.sleep(5000);
+                            }
+                            if (i == 20) {
+                                KuaimiUtil.addBlackList(token, "2307", mobile);
+                            }
+                        } else if (captcha != null) {
+                            int i = 0;
+                            String msg = null;
+                            while (i < 20) {
+
+                                try {
+                                    msg = KuaimiUtil.getMessage(token, "2307", mobile);
+                                } catch (Exception e) {
+                                    System.out.println("等待" + mobile + "短信验证码");
+                                }
+                                if (msg != null) {
+                                    WebElement captchaInput = getElementById(androidDriver, "com.smile.gifmaker:id/captcha_et");
+                                    captchaInput.sendKeys(msg);
+                                    WebElement captchaConfirm = getElementById(androidDriver, "com.smile.gifmaker:id/captcha_finish");
+                                    Thread.sleep(2000);
+                                    captchaConfirm.click();
+                                    System.out.println(msg);
+                                    Thread.sleep(5000);
+                                    WebElement icon = getElementByXpath(androidDriver, "//android.widget.ImageView[@content-desc=\"头像\"]");
+                                    if (icon != null) {
+                                        icon.click();
+                                    }
+                                }
+                                i++;
+                                Thread.sleep(5000);
+                            }
+                        }
+                    }
+
+
+                }
+                if (mobileLogin != null) {
+                    String token = KuaimiUtil.kuaimiLogin();
+                    String mobile = KuaimiUtil.getMobile(token, "2307");
+                    mobileLogin.sendKeys(mobile);
+                    Thread.sleep(5000L);
+//                    WebElement nextBtn = getElementById(androidDriver, "com.smile.gifmaker:id/next_view");
+//                    nextBtn.click();
+//                    Thread.sleep(5000L);
+//                    WebElement pintu = getElementById(androidDriver,"com.smile.gifmaker:id/title_tv");
+//                    if(pintu != null && pintu.getText().equals("拖动滑块")){
+//                        WebElement leftBtn1 = getElementById(androidDriver,"com.smile.gifmaker:id/left_btn");
+//                        leftBtn1.click();
+//                        return;
+//                    }
+//                    WebElement loginTitle = getElementById(androidDriver, "com.smile.gifmaker:id/login_title_tv");
+//                    WebElement forgetBtn = getElementById(androidDriver, "com.smile.gifmaker:id/forget_psd_btn");
+//                    WebElement captcha = getElementById(androidDriver,"com.smile.gifmaker:id/captcha_et");
+//                    if (loginTitle != null && loginTitle.getText().equals("输入密码")) {
+//                        forgetBtn.click();
+//                        Thread.sleep(2000L);
+//                        WebElement sendMsgBtn = getElementById(androidDriver, "com.smile.gifmaker:id/verify_tv");
+//                        sendMsgBtn.click();
+//                        Thread.sleep(5000L);
+//                        int i = 0;
+//                        String msg = null;
+//                        while (i < 20) {
+//                            try {
+//                                msg = KuaimiUtil.getMessage(token, "2307", mobile);
+//                            } catch (Exception e) {
+//                                System.out.println("等待" + mobile + "短信验证码");
+//                            }
+//                            if (msg != null) {
+//                                WebElement captchrInput = getElementById(androidDriver, "com.smile.gifmaker:id/verify_et");
+//                                captchrInput.sendKeys(msg);
+//                                Thread.sleep(2000);
+//                                WebElement confirmBtn = getElementById(androidDriver, "com.smile.gifmaker:id/confirm_btn");
+//                                confirmBtn.click();
+//                                Thread.sleep(2000);
+//                                WebElement newPwdInput = getElementById(androidDriver, "com.smile.gifmaker:id/login_psd_et");
+//                                newPwdInput.sendKeys("a123456");
+//                                Thread.sleep(2000);
+//                                WebElement confirmBtn2 = getElementById(androidDriver, "com.smile.gifmaker:id/confirm_btn");
+//                                confirmBtn2.click();
+//                                Thread.sleep(3000);
+//                                WebElement continueBtn = getElementById(androidDriver, "com.smile.gifmaker:id/positive");
+//                                if (continueBtn != null) {
+//                                    continueBtn.click();
+//                                }
+//                                for(int j = 0; i < 3;j++){
+//                                    Thread.sleep(3000);
+//                                    WebElement leftBtn = getElementById(androidDriver,"com.smile.gifmaker:id/left_btn");
+//                                    leftBtn.click();
+//                                }
+//
+//                                WebElement headImg = getElementById(androidDriver,"com.smile.gifmaker:id/tab_avatar");
+//                                if (headImg != null){
+//                                    headImg.click();
+//                                    WebElement qrCode = getElementById(androidDriver,"com.smile.gifmaker:id/qr_code_image");
+//                                    qrCode.click();
+//                                    WebElement kwid = getElementById(androidDriver,"com.smile.gifmaker:id/kwai_id");
+//                                    System.out.println(kwid.getText());
+//                                }
+//                                break;
+//                            }
+//                            i++;
+//                            Thread.sleep(5000);
+//                        }
+//                        if (i == 20) {
+//                            KuaimiUtil.addBlackList(token, "2307", mobile);
+//                        }
+//                    }else if(captcha != null){
+//                        int i = 0;
+//                        String msg = null;
+//                        while (i < 20) {
+//
+//                            try {
+//                                msg = KuaimiUtil.getMessage(token, "2307", mobile);
+//                            } catch (Exception e) {
+//                                System.out.println("等待" + mobile + "短信验证码");
+//                            }
+//                            if (msg != null) {
+//                                WebElement captchaInput = getElementById(androidDriver,"com.smile.gifmaker:id/captcha_et");
+//                                captchaInput.sendKeys(msg);
+//                                WebElement captchaConfirm = getElementById(androidDriver,"com.smile.gifmaker:id/captcha_finish");
+//                                Thread.sleep(2000);
+//                                captchaConfirm.click();
+//                                System.out.println(msg);
+//                                Thread.sleep(5000);
+//                                WebElement icon = getElementByXpath(androidDriver,"//android.widget.ImageView[@content-desc=\"头像\"]");
+//                                if (icon != null){
+//                                    icon.click();
+//                                }
+//                            }
+//                            i++;
+//                            Thread.sleep(5000);
+//                        }
+//                    }
+                }
             }
         } catch (Exception e) {
             e.printStackTrace();
+        } finally {
+            androidDriver.quit();
         }
 
     }
@@ -180,10 +505,15 @@ public class AppiumUtil {
 
     public WebElement getElementById(AndroidDriver androidDriver, String id) {
         WebElement element = null;
-        List<WebElement> elements = androidDriver.findElementsById(id);
-        if (elements != null && elements.size() > 0) {
-            element = elements.get(0);
+        try {
+            List<WebElement> elements = androidDriver.findElementsById(id);
+            if (elements != null && elements.size() > 0) {
+                element = elements.get(0);
+            }
+        } catch (Exception e) {
+            System.out.println("元素ID:" + id + "不存在");
         }
+
         return element;
     }
 

+ 38 - 22
module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/KuaimiUtil.java

@@ -2,6 +2,9 @@ package cn.com.ctop.crawler.modules.core.util;
 
 import cn.com.ctop.common.module.utils.HttpUtils;
 
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 public class KuaimiUtil {
     public static final String KUAIMI_API_URL = "http://api.kmiyz.com/api/do.php";
 
@@ -32,7 +35,7 @@ public class KuaimiUtil {
         String result = HttpUtils.httpPostNoParamRequest(url);
         if (result != null && result.startsWith("1")) {
             System.out.println(result);
-            return result.split("\\|")[1].substring(6, 12);
+            return getNumbers(result.split("\\|")[1]);
         } else {
             throw new Exception();
         }
@@ -60,27 +63,40 @@ public class KuaimiUtil {
         }
     }
 
-    public static void main(String[] args) {
-        KuaimiUtil k = new KuaimiUtil();
-        try {
-            String token = k.kuaimiLogin();
-            System.out.println(token);
-            String mobile = k.getMobile(token, "2307");
-            int times = 0;
-            while (times < 100) {
-                Thread.sleep(5000);
-                try {
-                    String msg = k.getMessage(token, "2307", mobile);
-                    System.out.println(msg);
-                    break;
-                } catch (Exception e) {
-                    System.out.println("等待短信");
-                }
-                times++;
-            }
-            System.out.println("完成");
-        } catch (Exception e) {
-            e.printStackTrace();
+    public static String getNumbers(String content) {
+        Pattern pattern = Pattern.compile("\\d+");
+        Matcher matcher = pattern.matcher(content);
+        while (matcher.find()) {
+            return matcher.group(0);
         }
+        return "";
+    }
+
+    public static void main(String[] args) {
+        String s = "【快手科技】重置密码的验证码469801,15分钟内有效,为保证信息安全,切勿将验证码告知他人。";
+//        String s = "【快手科技】503730快手验证码,15分钟内有效,仅用于登录,请勿告知他人。";
+        System.out.println(getNumbers(s));
+//
+//        KuaimiUtil k = new KuaimiUtil();
+//        try {
+//            String token = k.kuaimiLogin();
+//            System.out.println(token);
+//            String mobile = k.getMobile(token, "2307");
+//            int times = 0;
+//            while (times < 100) {
+//                Thread.sleep(5000);
+//                try {
+//                    String msg = k.getMessage(token, "2307", mobile);
+//                    System.out.println(msg);
+//                    break;
+//                } catch (Exception e) {
+//                    System.out.println("等待短信");
+//                }
+//                times++;
+//            }
+//            System.out.println("完成");
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
     }
 }