足球数据API接口 - 【即时指数】API调用示例代码

在线接口调用文档,需注册下

import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * @API: 11.单盘口赔率:即时赔率接口
 * @Website: https://www.feijing88.com
 */
public class FootballOdds {
 
    public static void main(String[] args) {
        Odds odds = new Odds();
        odds.parse(getContent());
 
        // 为了展示只输出3条数据,实际不止
        odds.getLeagueList().subList(0, 3).forEach(System.out::println);
        odds.getMatchList().subList(0, 3).forEach(System.out::println);
        odds.getRangQiuList().subList(0, 3).forEach(System.out::println);
        odds.getShengPingFuList().subList(0, 3).forEach(System.out::println);
        odds.getDaXiaoList().subList(0, 3).forEach(System.out::println);
    }
 
    /**
     * 获取API返回内容
     *
     * Note: 这里为了方便测试我使用了一份本地文件,使用时应替换为真实接口返回内容
     */
    private static String getContent() {
        try {
            StringBuilder builder = new StringBuilder();
            List<String> lines = Files.readAllLines(Paths.get("./src/main/resources/FootballBet.xml"), StandardCharsets.UTF_8);
            lines.forEach(line -> builder.append(line));
            return builder.toString();
        } catch (Throwable t) {
            t.printStackTrace();
            return "";
        }
    }
 
 
    public static class Odds {
        private List<League> leagueList;
        private List<Match> matchList;
        private List<RangQiu> rangQiuList;
        private List<ShengPingFu> shengPingFuList;
        private List<DaXiao> daXiaoList;
 
        public void parse(String data) {
            String[] parts = data.split("\\$");
            leagueList = Arrays.stream(parts[0].split(";"))
                    .map(s -> {
                        League obj = new League();
                        obj.parse(s);
                        return obj;
                    })
                    .collect(Collectors.toList());
            matchList = Arrays.stream(parts[1].split(";"))
                    .map(s -> {
                        Match obj = new Match();
                        obj.parse(s);
                        return obj;
                    })
                    .collect(Collectors.toList());
            rangQiuList = Arrays.stream(parts[2].split(";"))
                    .map(s -> {
                        RangQiu obj = new RangQiu();
                        obj.parse(s);
                        return obj;
                    })
                    .collect(Collectors.toList());
            shengPingFuList = Arrays.stream(parts[3].split(";"))
                    .map(s -> {
                        ShengPingFu obj = new ShengPingFu();
                        obj.parse(s);
                        return obj;
                    })
                    .collect(Collectors.toList());
            daXiaoList = Arrays.stream(parts[4].split(";"))
                    .map(s -> {
                        DaXiao obj = new DaXiao();
                        obj.parse(s);
                        return obj;
                    })
                    .collect(Collectors.toList());
        }
 
        public List<League> getLeagueList() {
            return leagueList;
        }
 
        public List<Match> getMatchList() {
            return matchList;
        }
 
        public List<RangQiu> getRangQiuList() {
            return rangQiuList;
        }
 
        public List<ShengPingFu> getShengPingFuList() {
            return shengPingFuList;
        }
 
        public List<DaXiao> getDaXiaoList() {
            return daXiaoList;
        }
    }
 
    public static class League {
        private String leagueId;
        private int type;
        private String leagueNameGb;
        private String leagueNameBig;
        private String leagueNameEn;
 
        public void parse(String data) {
            String[] values = data.split(",");
            leagueId = values[0];
            type = Integer.valueOf(values[1]);
            leagueNameGb = values[3];
            leagueNameBig = values[4];
            leagueNameEn = values[5];
        }
 
        @Override
        public String toString() {
            return "League{" +
                    "leagueId='" + leagueId + '\'' +
                    ", type=" + type +
                    ", leagueNameGb='" + leagueNameGb + '\'' +
                    ", leagueNameBig='" + leagueNameBig + '\'' +
                    ", leagueNameEn='" + leagueNameEn + '\'' +
                    '}';
        }
    }
 
    public static class Match {
        private String matchId;
        private String leagueId;
        private String matchTime;
        private String startTime;
        private String homeTeamId;
        private String homeTeamNameGb;
        private String homeTeamNameBig;
        private String homeTeamNameEn;
        private String homeTeamRank;
        private String awayTeamId;
        private String awayTeamNameGb;
        private String awayTeamNameBig;
        private String awayTeamNameEn;
        private String awayTeamRank;
        private int matchStatus;
        private int homeTeamScore;
        private int awayTeamScore;
        private int homeRed;
        private int awayRed;
        private int homeYellow;
        private int awayYellow;
 
        public void parse(String data) {
            String[] values = data.split(",");
            matchId = values[0];
            leagueId = values[1];
            matchTime = values[2];
            startTime = values[3];
            homeTeamId = values[4];
            homeTeamNameGb = values[5];
            homeTeamNameBig = values[6];
            homeTeamNameEn = values[7];
            homeTeamRank = values[8];
            awayTeamId = values[9];
            awayTeamNameGb = values[10];
            awayTeamNameBig = values[11];
            awayTeamNameEn = values[12];
            awayTeamRank = values[13];
            matchStatus = Integer.valueOf(values[14]);
            homeTeamScore = Integer.valueOf(values[15]);
            awayTeamScore = Integer.valueOf(values[16]);
            homeRed = Integer.valueOf(values[20]);
            awayRed = Integer.valueOf(values[21]);
            homeYellow = Integer.valueOf(values[22]);
            awayYellow = Integer.valueOf(values[23]);
        }
 
        @Override
        public String toString() {
            return "Match{" +
                    "matchId='" + matchId + '\'' +
                    ", leagueId='" + leagueId + '\'' +
                    ", matchTime='" + matchTime + '\'' +
                    ", startTime='" + startTime + '\'' +
                    ", homeTeamId='" + homeTeamId + '\'' +
                    ", homeTeamNameGb='" + homeTeamNameGb + '\'' +
                    ", homeTeamNameBig='" + homeTeamNameBig + '\'' +
                    ", homeTeamNameEn='" + homeTeamNameEn + '\'' +
                    ", homeTeamRank=" + homeTeamRank +
                    ", awayTeamId='" + awayTeamId + '\'' +
                    ", awayTeamNameGb='" + awayTeamNameGb + '\'' +
                    ", awayTeamNameBig='" + awayTeamNameBig + '\'' +
                    ", awayTeamNameEn='" + awayTeamNameEn + '\'' +
                    ", awayTeamRank=" + awayTeamRank +
                    ", matchStatus=" + matchStatus +
                    ", homeTeamScore=" + homeTeamScore +
                    ", awayTeamScore=" + awayTeamScore +
                    ", homeRed=" + homeRed +
                    ", awayRed=" + awayRed +
                    ", homeYellow=" + homeYellow +
                    ", awayYellow=" + awayYellow +
                    '}';
        }
    }
 
    public static class RangQiu {
        private String matchId;
        private String companyId;
        private String initHandicap;
        private String initHomeOdds;
        private String initAwayOdds;
        private String handicap;
        private String homeOdds;
        private String awayOdds;
        private String disable;
        private String time;
 
        public void parse(String data) {
            String[] values = data.split(",");
            matchId = values[0];
            companyId = values[1];
            initHandicap = values[2];
            initHomeOdds = values[3];
            initAwayOdds = values[4];
            handicap = values[5];
            homeOdds = values[6];
            awayOdds = values[7];
            disable = values[8];
            time = values[10];
        }
 
        @Override
        public String toString() {
            return "RangQiu{" +
                    "matchId='" + matchId + '\'' +
                    ", companyId='" + companyId + '\'' +
                    ", initHandicap='" + initHandicap + '\'' +
                    ", initHomeOdds='" + initHomeOdds + '\'' +
                    ", initAwayOdds='" + initAwayOdds + '\'' +
                    ", handicap='" + handicap + '\'' +
                    ", homeOdds='" + homeOdds + '\'' +
                    ", awayOdds='" + awayOdds + '\'' +
                    ", disable='" + disable + '\'' +
                    ", time='" + time + '\'' +
                    '}';
        }
    }
 
    public static class ShengPingFu {
        private String matchId;
        private String companyId;
        private String initHomeOdds;
        private String initDrawOdds;
        private String initAwayOdds;
        private String homeOdds;
        private String drawOdds;
        private String awayOdds;
        private String time;
        private String disable;
 
        public void parse(String data) {
            String[] values = data.split(",");
            matchId = values[0];
            companyId = values[1];
            initHomeOdds = values[2];
            initDrawOdds = values[3];
            initAwayOdds = values[4];
            homeOdds = values[5];
            drawOdds = values[6];
            awayOdds = values[7];
            time = values[8];
            disable = values[9];
        }
 
        @Override
        public String toString() {
            return "ShengPingFu{" +
                    "matchId='" + matchId + '\'' +
                    ", companyId='" + companyId + '\'' +
                    ", initHomeOdds='" + initHomeOdds + '\'' +
                    ", initDrawOdds='" + initDrawOdds + '\'' +
                    ", initAwayOdds='" + initAwayOdds + '\'' +
                    ", homeOdds='" + homeOdds + '\'' +
                    ", drawOdds='" + drawOdds + '\'' +
                    ", awayOdds='" + awayOdds + '\'' +
                    ", time='" + time + '\'' +
                    ", disable='" + disable + '\'' +
                    '}';
        }
    }
 
    public static class DaXiao {
        private String matchId;
        private String companyId;
        private String initHandicap;
        private String initBigOdds;
        private String initSmallOdds;
        private String handicap;
        private String bigOdds;
        private String smallOdds;
        private String time;
        private String disable;
 
        public void parse(String data) {
            String[] values = data.split(",");
            matchId = values[0];
            companyId = values[1];
            initHandicap = values[2];
            initBigOdds = values[3];
            initSmallOdds = values[4];
            handicap = values[5];
            bigOdds = values[6];
            smallOdds = values[7];
            time = values[8];
            disable = values[9];
        }
 
        @Override
        public String toString() {
            return "DaXiao{" +
                    "matchId='" + matchId + '\'' +
                    ", companyId='" + companyId + '\'' +
                    ", initHandicap='" + initHandicap + '\'' +
                    ", initBigOdds='" + initBigOdds + '\'' +
                    ", initSmallOdds='" + initSmallOdds + '\'' +
                    ", handicap='" + handicap + '\'' +
                    ", bigOdds='" + bigOdds + '\'' +
                    ", smallOdds='" + smallOdds + '\'' +
                    ", time='" + time + '\'' +
                    ", disable='" + disable + '\'' +
                    '}';
        }
    }
}

API 返回数据如下:

League{leagueId='103', type=2, leagueNameGb='欧冠杯', leagueNameBig='歐冠盃', leagueNameEn='UEFA CL'}
League{leagueId='37', type=1, leagueNameGb='英冠', leagueNameBig='英冠', leagueNameEn='ENG LCH'}
League{leagueId='9', type=1, leagueNameGb='德乙', leagueNameBig='德乙', leagueNameEn='GER D2'}
Match{matchId='1756009', leagueId='41', matchTime='1563863100000', startTime='1563867234500', homeTeamId='17127', homeTeamNameGb='博乐大学', homeTeamNameBig='博樂大學', homeTeamNameEn='Kasem Bundit University FC', homeTeamRank=泰乙17, awayTeamId='44377', awayTeamNameGb='苏南达大学', awayTeamNameBig='蘇南達大學', awayTeamNameEn='Suan Sunandha Rajabhat University', awayTeamRank=, matchStatus=3, homeTeamScore=1, awayTeamScore=0, homeRed=0, awayRed=0, homeYellow=2, awayYellow=3}
Match{matchId='1755962', leagueId='1521', matchTime='1563865200000', startTime='1563868778427', homeTeamId='25089', homeTeamNameGb='克赖斯特彻奇联', homeTeamNameBig='克賴斯特徹奇聯', homeTeamNameEn='Christchurch United', homeTeamRank=, awayTeamId='43830', awayTeamNameGb='AFC大学', awayTeamNameBig='AFC大學', awayTeamNameEn='Universities AFC', awayTeamRank=, matchStatus=3, homeTeamScore=4, awayTeamScore=0, homeRed=0, awayRed=0, homeYellow=0, awayYellow=0}
Match{matchId='1755960', leagueId='2045', matchTime='1563865500000', startTime='1563868938103', homeTeamId='44375', homeTeamNameGb='广告体育会', homeTeamNameBig='广告体育会', homeTeamNameEn='AD Sport FC', homeTeamRank=, awayTeamId='44374', awayTeamNameGb='佩萨瓦兰', awayTeamNameBig='佩萨瓦兰', awayTeamNameEn='Putra Pesawaran FC', awayTeamRank=, matchStatus=3, homeTeamScore=3, awayTeamScore=1, homeRed=0, awayRed=0, homeYellow=2, awayYellow=0}
RangQiu{matchId='1626584', companyId='14', initHandicap='1.5', initHomeOdds='0.95', initAwayOdds='0.83', handicap='1.5', homeOdds='0.95', awayOdds='0.83', disable='False', time='2019-07-19 23:07:00'}
RangQiu{matchId='1650544', companyId='3', initHandicap='-0.5', initHomeOdds='0.76', initAwayOdds='1.13', handicap='-0.25', homeOdds='1.03', awayOdds='0.85', disable='False', time='2019-07-23 16:09:42'}
RangQiu{matchId='1650544', companyId='8', initHandicap='-0.5', initHomeOdds='0.74', initAwayOdds='1.18', handicap='-0.25', homeOdds='1.03', awayOdds='0.87', disable='False', time='2019-07-23 16:08:02'}
ShengPingFu{matchId='1626584', companyId='14', initHomeOdds='1.29', initDrawOdds='4.40', initAwayOdds='8.50', homeOdds='1.25', drawOdds='4.60', awayOdds='10.00', time='2019-07-19 22:58:00', disable='False'}
ShengPingFu{matchId='1650544', companyId='22', initHomeOdds='3.65', initDrawOdds='3.15', initAwayOdds='2.05', homeOdds='3.60', drawOdds='3.10', awayOdds='2.10', time='2019-07-23 15:10:00', disable='False'}
ShengPingFu{matchId='1650544', companyId='24', initHomeOdds='3.40', initDrawOdds='3.15', initAwayOdds='2.13', homeOdds='3.30', drawOdds='3.15', awayOdds='2.19', time='2019-07-22 22:17:00', disable='False'}
DaXiao{matchId='1626584', companyId='14', initHandicap='2.5', initBigOdds='0.88', initSmallOdds='0.89', handicap='2.5', bigOdds='0.88', smallOdds='0.89', time='2019-07-19 23:07:00', disable='False'}
DaXiao{matchId='1650544', companyId='3', initHandicap='2', initBigOdds='0.92', initSmallOdds='0.94', handicap='2', bigOdds='0.92', smallOdds='0.94', time='2019-07-22 22:11:35', disable='False'}
DaXiao{matchId='1650544', companyId='4', initHandicap='2.5', initBigOdds='1.45', initSmallOdds='0.50', handicap='2.5', bigOdds='1.50', smallOdds='0.50', time='2019-07-23 03:09:48', disable='False'}

相关推荐
篮球数据API接口 - 【即时赔率】API调用示例代码
足球数据API接口 - 【足球比分】API调用示例代码
足球数据API接口 - 【赛程赛果】API调用示例代码