1. 程式人生 > 實用技巧 >百度+搜狗快排程式核心程式碼分享

百度+搜狗快排程式核心程式碼分享

# 快排程式二次開發

[TOC]

## 基於IDEA二次開發

> 目的是希望拉下程式碼可以跑起來;

### 前置條件

1. 研發是基於`IEDA2019`版本;(如果用`eclipse`,請`github`拉去程式碼)

2. 研發基於`JDK1.8`

3. 並未使用mysql等資料庫等,所以只需要`jdk+idea`即可(測試機一定要有`chrome`瀏覽器)

### 步驟

1. 拉去程式碼(這步不會我就尷尬了,也可以跟我要我的程式包`QQ`私我)

2. 拉去完後參考下圖(這個圖放大了看下,我標了類是幹嘛的)

![](image/圖片1.png)

3. 執行入口:`main.Main`這個類;

4. 修改配置檔案:

- 這個配置檔案,其實就是咱們想刷的詞和自己的域名;

- 在`github`上找一下這個檔案,如下圖的這個檔案;

![](image/圖片2.png)

將此檔案,放入你的專案外的資料夾即可,他會自己找到這個配置檔案,我舉個栗子;

比如你的專案在`d://a/sg`那麼此時你的專案名字叫`sg`,那麼就放在同一個目錄下,

5. 執行:如下圖

![](image/圖片3.png)

6. 看控制檯:

![](image/圖片4.png)

7. 到這裡基本上你就執行成功了。

8. 如果你要執行`360`這個快排,那麼就把 百度&搜狗註釋掉。反正只能執行一個類,同時;

## 配置檔案詳解

``` ini

test10:doman=www.shanghai.gov.cn;searchWords=上海;bigWord=100;

test11:doman=www.a.gov.cn;searchWords=廈門;bigWord=10;

test12:doman=www.b.gov.cn;searchWords=隨便;bigWord=20;

```

- `test`這個是`id`的編號反正可以從`0-500`都可以,但是不要重複

- `doman=你想刷的網站的域名`

- `searchWords=你想刷的詞`

- `bigWord=你的詞被刷的概率`(比如你想刷5個詞,但是想第一個詞概率高就多一點,`1-100`)

``` ini

#############0搜狗1是360,2是百度#######2月6日最後修改時間...#的配置

ipChange=0 # 0就是不要換ip,1是要自動換ip;ip怎麼換,我下面會寫

path=/home/sougou/log # 你日誌的目錄,這個我後面應該沒用了,隨便寫一個目錄好了

chromeCatchPath=/home/sougou/chrome # 這個也隨便寫一個吧,我好想也沒用了

sougou-360=0 # 這個也隨便寫一個吧,我好想也沒用了

cookie= # 這個暫時也沒用了,可以寫空,或者隨便寫

```

配置檔案應該放在哪?上面仔細看看,配置檔案原始碼中在哪?也上面看下;

## linux 打包部署

當寫好程式後,需要在`linux`上跑,原因是這個必須要換大量`ip`才有效果;

這個功能我已經內嵌好了。原理就是利用全國混撥`vps`的撥號功能,去呼叫撥號,去跑;

### 核心坑點

1. 這個全國混撥`vps`一定要支援`pppoe-start pppoe-stop`這個命令去停止和撥號哈。

2. 我是淘寶買的`vps`,你們也可以試試,或者改造成其他的方案;但是我找了很多,就淘寶上的這個靠譜。百度的很多都不行,`ip`質量太差,會被封,或者排名無效果;

3. 關於`ip`質量可以去`ipip.net`去查,這個是第三方免費的;

### 程式碼解讀

我拿一個核心的解讀一下,其他的都是大同小異,或者工具類,不必關心,和業務邏輯沒什麼太大關係;

核心程式碼:

package engines;

import com.teamdev.jxbrowser.chromium.*;
import com.teamdev.jxbrowser.chromium.BrowserKeyEvent.KeyModifiers;
import com.teamdev.jxbrowser.chromium.BrowserKeyEvent.KeyModifiersBuilder;
import com.teamdev.jxbrowser.chromium.BrowserMouseEvent.BrowserMouseEventBuilder;
import com.teamdev.jxbrowser.chromium.BrowserMouseEvent.MouseButtonType;
import com.teamdev.jxbrowser.chromium.dom.By;
import com.teamdev.jxbrowser.chromium.dom.DOMElement;
import com.teamdev.jxbrowser.chromium.events.FinishLoadingEvent;
import com.teamdev.jxbrowser.chromium.events.LoadAdapter;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import config.UA;
import tool.*;

import javax.swing.*;
import java.awt.*;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static com.teamdev.jxbrowser.chromium.BrowserMouseEvent.MouseButtonType.PRIMARY;
import static com.teamdev.jxbrowser.chromium.BrowserMouseEvent.MouseEventType.*;
import static com.teamdev.jxbrowser.chromium.BrowserMouseEvent.MouseScrollType.WHEEL_BLOCK_SCROLL;


public class Baidu {
   static  boolean show=true;
   static EnglishResolution.WidthHeiht widthHeiht = EnglishResolution.getEnglishResolution(EnglishResolution.PC);
    static long startMonitor=System.currentTimeMillis();
    public static void main(String[] args) throws Exception {
        new Thread(new Monitor(1000*60*5)).start();
        if("1".equals(PropertyConfig.getPropertyV("ipChange").trim()))
        {
            MNET.ipChange();
            System.out.println("換IP....");
        }else {
            System.out.println("忘記沒有換IP嗎?");
        }

        String doman=null,  searchwords=null,title=null;
        try {
            System.out.println("***************測試大量點選,沒有展示...***********************");
            List<String> stringList=new ArrayList();
            for(int i=0;i<500;i++){
                String str= PropertyConfig.getPropertyV("test"+i);
                if(str!=null&&str.trim().length()>2){
                    stringList.add(str);
                    System.out.println(str);
                }
            }
            if(stringList.size()>0){
                String item= L.shenChoose(stringList);
                doman= RegexParse.baseParse(item,"doman=([\\S]*?);",1);
                searchwords= RegexParse.baseParse(item,"searchWords=([\\S]*?);",1);
                /**
                 * 這個地方會空指標,並不是程式的問題,而是我並沒有開放百度的引數;
                 * */
                //String url=null;
                String url="https://www.baidu.com/s?ie=utf-8&wd="+searchwords+"&et="+doman;
               // String url="https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=" + L.randomNumber(0, 1) + "&tn=baiduhome_pg&wd=" + searchwords + "&ct=" + L.rm1() + "&et=" + doman + "&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=" + L.randomNumber(0, 3) + "&rsv_sug1=" + L.randomNumber(1, 2) + "&rsv_sug7=100&rsv_sug2=0&inputT=" + L.randomNumber(100, 5000);
                System.out.println("==============================================================================");
                System.err.println("這個地方會空指標,並不是程式的問題,而是我並沒有開放百度的引數;如果需要加群瞭解;或者捐贈瞭解");
                System.out.println("==============================================================================");
                System.out.println("當前準備執行的是:"+doman+">>"+searchwords+">>"+url);
                if(item!=null&&doman!=null){
                        init();
                        Browser browser = getBroser();
                        BrowserPreferences.setUserAgent(UA.getUa(UA.PC));
                        browser.setSize(widthHeiht.getWidth(), widthHeiht.getHeight());
                        new Thread(new Monitor(168)).start();
                        logic(browser, doman, searchwords, widthHeiht,url,title);
                }
            }
        }catch (Throwable e){
            e.printStackTrace();
            System.exit(0);
        }
    }

    static String  getSource(){
        List<String> arrays= Arrays.asList("baidu","50000049_hao_pg","site888_3_pg","56060048_4_pg","97724291_hao_pg","02049043_23_pg","77092190_pg","50000041_hao_pg","02003390_23_hao_pg","02049043_6_pg","request_28_pg","monline_3_dg","95156753_hao_pg","91121590_hao_pg","94962502_hao_pg","66069139_dg","1314","request_2_pg","maxco4","wjlhkp_pg","78040160_15_pg","site5566","58025142_5_oem_dg","78040160_15_pg","27073201_2_hao_pg","58025142_5_oem_dg");
        return  arrays.get(L.randomNumber(0,arrays.size()-1));
    }

    static void logic(Browser browser, String doman, String searchwords, EnglishResolution.WidthHeiht widthHeiht, String url, String title) throws Exception {
        browser.setPopupHandler(new PopupHandler() {
            public PopupContainer handlePopup(PopupParams params) {
                return new PopupContainer() {
                    public void insertBrowser(final Browser browser, final Rectangle initialBounds) {
                        SwingUtilities.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                    BrowserView browserView = new BrowserView(browser);
                                    browserView.setPreferredSize(initialBounds.getSize());
                                    final JFrame frame = new JFrame();
                                    frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                                    frame.add(browserView, BorderLayout.CENTER);
                                    frame.pack();
                                    frame.setSize(1024, 768);
                                    frame.setLocation(initialBounds.getLocation());
                                    frame.setVisible(true);
                                System.out.println("進入監聽"+browser.getURL());
                                while (true){
                                    if(browser.getURL().contains(doman)&&!browser.getURL().contains("baidu")&&!browser.getURL().contains("video"))
                                    {
                                        System.out.println("============================================================");
                                        System.out.println("$$$$$$$$$$$$$$$$$$$$點選成功:"+browser.getURL()+"總耗時:"+((System.currentTimeMillis()-startMonitor)/1000)+"秒");
                                        System.out.println("============================================================");
                                        try {
                                            Thread.sleep(L.randomNumber(1000,5000));
                                        } catch (InterruptedException e) {
                                            e.printStackTrace();
                                        }
                                        browser.dispose();
                                        System.exit(0);
                                        break;
                                    }
                                    try {
                                        Thread.sleep(1000);
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
                                }
                            }
                        });
                    }
                };
            }
        });

        browser.addLoadListener(new LoadAdapter() {
            @Override
            public void onFinishLoadingFrame(FinishLoadingEvent event) {
                if(browser.getURL().contains("antispider")){
                    System.out.println("封鎖了...");
                    System.exit(0);
                }
                System.out.println("載入完畢.....");
                for(int i=1;i<10;i++){
                    DOMElement domElement=browser.getDocument().findElement(By.xpath("//*[@id=\""+i+"\"]"));
                    if(domElement==null)
                        continue;
                    System.out.println(domElement.getInnerText()+"title"+title+"doman"+doman);
                    if(domElement.getInnerHTML().contains(doman)){
                            System.out.println(browser.getURL());
                            System.out.println("找到匹配開始點選....");
                            excute(browser, domElement, widthHeiht);
                            System.out.println(domElement.getInnerText());
                        break ;
                    }
                }
            }
        });
        browser.loadURL(url);
    }




    private static void forwardMousePressEvent(Browser browser,
                                               MouseButtonType buttonType,
                                               int x,
                                               int y,
                                               int globalX,
                                               int globalY) {
        BrowserMouseEventBuilder builder = new BrowserMouseEventBuilder();
        builder.setEventType(MOUSE_PRESSED)
                .setButtonType(buttonType)
                .setX(x)
                .setY(y)
                .setGlobalX(globalX)
                .setGlobalY(globalY)
                .setClickCount(1)
                .setModifiers(new KeyModifiersBuilder().mouseButton().build());
        browser.forwardMouseEvent(builder.build());
    }

    private static void forwardMouseReleaseEvent(Browser browser,
                                                 MouseButtonType buttonType,
                                                 int x,
                                                 int y,
                                                 int globalX,
                                                 int globalY) {
        BrowserMouseEventBuilder builder = new BrowserMouseEventBuilder();
        builder.setEventType(MOUSE_RELEASED)
                .setButtonType(buttonType)
                .setX(x)
                .setY(y)
                .setGlobalX(globalX)
                .setGlobalY(globalY)
                .setClickCount(1)
                .setModifiers(KeyModifiers.NO_MODIFIERS);
        browser.forwardMouseEvent(builder.build());
    }

    private static void forwardMouseClickEvent(Browser browser,
                                               MouseButtonType buttonType,
                                               int x,
                                               int y,
                                               int globalX,
                                               int globalY) {
        forwardMousePressEvent(browser, buttonType, x, y, globalX, globalY);
        forwardMouseReleaseEvent(browser, buttonType, x, y, globalX, globalY);
    }

    private static void forwardMouseScrollEvent(Browser browser,
                                                int unitsToScroll,
                                                int x,
                                                int y) {
        BrowserMouseEventBuilder builder = new BrowserMouseEventBuilder();
        builder.setEventType(MOUSE_WHEEL)
                .setX(x)
                .setY(y)
                .setGlobalX(0)
                .setGlobalY(0)
                .setScrollBarPixelsPerLine(25)
                .setScrollType(WHEEL_BLOCK_SCROLL)
                .setWindowX(widthHeiht.width)
                .setWindowY(widthHeiht.height)
                .setUnitsToScroll(unitsToScroll);
        browser.forwardMouseEvent(builder.build());
    }

    public static void excute(Browser browser, DOMElement domElement, EnglishResolution.WidthHeiht widthHeiht) {
            try {
                randomMove(browser,widthHeiht.width,widthHeiht.height);
                scroll(browser, domElement, widthHeiht);
                Rectangle  rectangle = domElement.getBoundingClientRect();
                System.out.println(">>>>>" + rectangle.x + "|" + rectangle.y + "|" + rectangle.width + "|" + rectangle.height + "|" + widthHeiht.width + "|" + widthHeiht.height);
                domElement=domElement.findElement(By.xpath("h3/a"));
                move(browser, rectangle.x, rectangle.y, rectangle.width, rectangle.height);
                //browser.executeJavaScript("window.scrollTo(" + rectangle.x + "," + (rectangle.y-(100+(L.randomNumber(1,68)))) + ");");
                randomMove(browser,widthHeiht.width,widthHeiht.height);
                targetMove(browser,domElement);
               // domElement.click();
                System.out.println("___________________________________________________________");
                domElement.scrollToBottom();
                rectangle = domElement.getBoundingClientRect();
                forwardMouseClickEvent(browser, PRIMARY, rectangle.x, rectangle.y, rectangle.width, rectangle.height);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }



    static  int Iloc= L.randomNumber(0,2);
    public static void  scroll(Browser browser, DOMElement domElement, EnglishResolution.WidthHeiht widthHeiht){
        Rectangle rectangleL = domElement.getBoundingClientRect();
        int locL=rectangleL.y;
        int scrollH=0,loc=-1;
        for(int i=0;i<30;i++){
            try {
                scrollH+= L.randomNumber(80,300);
                browser.executeJavaScript("window.scrollTo(" + L.randomNumber(10,rectangleL.x) + "," +scrollH + ");");
                Thread.sleep(L.randomNumber(600,6000));
                if(scrollH>locL){
                    Iloc--;
                }
                if(Iloc<0)
                    break;
                System.out.println("scoll:"+i);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        for(int i=0;i<30;i++){
            try {
                scrollH-= L.randomNumber(80,300);
                if(scrollH<0)
                    scrollH= L.randomNumber(0,10);
                browser.executeJavaScript("window.scrollTo(" + L.randomNumber(10,rectangleL.x) + "," +scrollH + ");");
                Thread.sleep(L.randomNumber(600,3000));
                System.out.println("scrollH:"+scrollH+"height:"+locL);
                if((scrollH+150)<locL||scrollH<20){
                    break;
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    /*********
     * 準備工作
     */
    public  static void   init(){
        try {
            Field e = ba.class.getDeclaredField("e");
            e.setAccessible(true);
            Field f = ba.class.getDeclaredField("f");
            f.setAccessible(true);
            Field modifersField = Field.class.getDeclaredField("modifiers");
            modifersField.setAccessible(true);
            modifersField.setInt(e, e.getModifiers() & ~Modifier.FINAL);
            modifersField.setInt(f, f.getModifiers() & ~Modifier.FINAL);
            e.set(null, new BigInteger("1"));
            f.set(null, new BigInteger("1"));
            modifersField.setAccessible(false);
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }


    public  static  void randomMove(Browser browser,int width,int height) {
        long startT=System.currentTimeMillis();
        System.out.println("隨機晃動滑鼠開始");
        for(int i = 0; i< L.randomNumber(1,2); i++){
            int sx=0;
            int sy=0;
            int ex=width;
            int ey=height;
            int xxx=0,yyy=0;
            int Monitor= L.randomNumber(100,200),Monitori= L.randomNumber(0,1);
            int z=50,zi=0;
            int s= L.randomNumber(0,3);
            if(s==0){
                xxx=0;
                yyy=0;
            }else if(s==1){
                xxx=width;
                yyy=height;
            }else if(s==2){
                xxx=0;
                yyy=height;
            }else if(s==3){
                xxx=width;
                yyy=0;
            }
            for(int qq = 0; qq< L.randomNumber(1,2); qq++){
                if(s==0){
                    xxx+= L.randomNumber(z-(zi+1),z-(zi++)+ L.randomNumber(0,5));
                    yyy+= L.randomNumber(z-(zi+1),z-(zi++));
                }else if(s==1){
                    xxx-= L.randomNumber(z-(zi+1),z-(zi++)+ L.randomNumber(0,5));
                    yyy-= L.randomNumber(z-(zi+1),z-(zi++));
                }else if(s==2){
                    xxx+= L.randomNumber(z-(zi+1),z-(zi++));
                    yyy-= L.randomNumber(z-(zi+1),z-(zi++)+ L.randomNumber(0,5));
                }else if(s==3){
                    xxx-= L.randomNumber(z-(zi+1),z-(zi++)+ L.randomNumber(0,5));
                    yyy+= L.randomNumber(z-(zi+1),z-(zi++));
                }
                yyy+= L.randomNumber(z-(zi+2),z-(zi++));;
                if(xxx<0||xxx>width||yyy<0||yyy>height)
                    break;
                move(browser,xxx,yyy,width,height);
                try {
                    Monitor=(Monitor<20)?20:(Monitor- L.randomNumber(Monitori+3,Monitori+25));
                    Monitor=Monitor<1?1:Monitor;
                    Thread.sleep(Monitor);
                } catch (Exception e) {
                }
            }
            for(int j = 0; j< L.randomNumber(0,2); j++){
                xxx= L.randomNumber(0,width);
                yyy= L.randomNumber(0,height);
                int ccdd= L.randomNumber(0,3);
                for(int ii=0;ii<30;ii++){
                    if(ccdd==0)
                    {
                        xxx+=ii+ L.randomNumber(0,ii);
                        yyy+=ii+ L.randomNumber(0,ii+ L.randomNumber(0,5));
                    }
                    if(ccdd==1)
                    {
                        xxx-=ii+ L.randomNumber(0,ii+ L.randomNumber(0,5));
                        yyy-=ii+ L.randomNumber(0,ii);
                    }
                    if(ccdd==2)
                    {
                        xxx-=ii+ L.randomNumber(0,ii);
                        yyy+=ii+ L.randomNumber(0,ii+ L.randomNumber(0,5));
                    }
                    if(ccdd==3)
                    {
                        xxx+=ii+ L.randomNumber(0,ii+ L.randomNumber(0,5));
                        yyy-=ii+ L.randomNumber(0,ii);
                    }
                    move(browser,xxx,yyy,width,height);
                    try {
                        Monitor=(Monitor<20)?20:(Monitor- L.randomNumber(Monitori+3,Monitori+25));
                        Monitor=Monitor<1?1:Monitor;
                        Thread.sleep(Monitor+ L.randomNumber(0,10));
                    } catch (Exception e) {
                    }
                }
            }
        }
        System.out.println("隨機晃動滑鼠完畢 耗時:"+(System.currentTimeMillis()-startT));
    }

    public  static void move(Browser browser,int x,int y,int gx,int gy){
        BrowserMouseEvent.BrowserMouseEventBuilder builder = new BrowserMouseEvent.BrowserMouseEventBuilder();
        builder.setEventType(MOUSE_MOVED)
                .setX(x)
                .setY(y)
                .setGlobalX(gx)
                .setGlobalY(gy);
        browser.forwardMouseEvent(builder.build());
    }

    public static  void  targetMove(Browser browser,DOMElement domElement){
        try {
            Rectangle  rectangle=domElement.getBoundingClientRect();
            move(browser, rectangle.x, rectangle.y, rectangle.width, rectangle.height);
        } catch (Throwable e) {
            System.out.println("移動到指定的元素,這個出現錯誤,認為不重要,忽略");
        }
    }



    static Browser  getBroser(){
        long startMonitor=System.currentTimeMillis();
        System.out.println("開始準備各種邏輯");
        BrowserPreferences.setChromiumSwitches(
                "--disable-gpu",
                "--disable-gpu-compositing",
                "--enable-begin-frame-scheduling"
                ,"--software-rendering-fps=60"

        );
        //構造隱身模式的瀏覽器
        BrowserPreferences.setUserAgent(UA.getUa(UA.PC));
       // BrowserContextParams params = new BrowserContextParams("user-data");
        BrowserContextParams params = new BrowserContextParams(" /home/sougou/user-data");

        params.setStorageType(StorageType.MEMORY);
        BrowserContext browserContext = new BrowserContext(params);
        Browser browser = new Browser(BrowserType.LIGHTWEIGHT,browserContext);

//        BrowserPreferences preferences = browser.getPreferences();
//        preferences.setImagesEnabled(false);
        // preferences.setJavaScriptEnabled(false);
//        browser.setPreferences(preferences);
        //清空快取
        browser.getCacheStorage().clearCache();
        browser.getLocalWebStorage().clear();
        browser.getCookieStorage().deleteAll();
        browser.getSessionWebStorage().clear();
        //設定瀏覽器頭,和瀏覽器尺寸
        EnglishResolution.WidthHeiht widthHeiht= EnglishResolution.getEnglishResolution(EnglishResolution.PC);;
        browser.setSize(widthHeiht.getWidth(),widthHeiht.getHeight());
        System.out.println("元件初始化完成...耗時:"+(System.currentTimeMillis()-startMonitor)/1000+"秒");
        /*************************是否顯示介面************************************/
        BrowserView view = new BrowserView(browser);
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        //不顯示標題欄,最大化,最小化,退出按鈕
        //frame.setUndecorated(true);
        frame.setSize(widthHeiht.getWidth(),widthHeiht.getHeight());
        frame.add(view, BorderLayout.CENTER);
        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        frame.setLocationByPlatform(true);
        frame.setVisible(true);
        /*************************************************************/
        return  browser;
    }

    /***
     * 根據時間段判斷是否需要點選;
     */
    static  boolean isClick(){
        int h= Monitor.getTimeH();
        System.out.println("當前小時為:"+h);
        switch (h){
            case 1:{
                return  gailv(0);
            }
            case 2:{
                return  gailv(0);
            }
            case 3:{
                return  gailv(0);
            }
            case 4:{
                return  gailv(0);
            }
            case 5:{
                return  gailv(0);
            }
            case 6:{
                return  gailv(0);
            }
            case 7:{
                return  gailv(0);
            }
            case 8:{
                return  gailv(30);
            }
            case 9:{
                return  gailv(40);
            }
            case 10:{
                return  gailv(70);
            }
            case 11:{
                return  gailv(80);
            }
            case 12:{
                return  gailv(50);
            }
            case 13:{
                return  gailv(80);
            }
            case 14:{
                return  gailv(120);
            }
            case 15:{
                return  gailv(160);
            }
            case 16:{
                return  gailv(200);
            }
            case 17:{
                return  gailv(140);
            }
            case 18:{
                return  gailv(300);
            }
            case 19:{
                return  gailv(720);
            }
            case 20:{
                return  gailv(360);
            }
            case 21:{
                return  gailv(200);
            }
            case 22:{
                return  gailv(80);
            }
            case 23:{
                return  gailv(30);
            }
            case 24:{
                return  gailv(5);
            }
            case 0:{
                return  gailv(5);
            }

        }
        return false;
    }

    static boolean gailv(int baifenbi){
        baifenbi=baifenbi*5;
        if(360==baifenbi){
            return  true;
        }
        if(0==baifenbi)
            return false;
        for(int i=0;i<baifenbi;i++){
            int jishu= L.randomNumber(1,360);
            if(jishu==1)
                return true;
        }
        return false;
    }


}