src/main/java/com/yeshi/buwan/domain/live/TVLiveCategory.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/domain/live/TVLiveCategoryChannelMap.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/domain/live/TVLiveChannel.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/domain/live/TVLiveChannelResourceMap.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/domain/live/TVLiveResource.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/live/TVLiveOtherRecourceChannel.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/live/migu/MiGuLiveListInfo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yeshi/buwan/live/migu/MiguLiveApiUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/test/java/com/hxh/spring/test/video/BilibiliTest.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/yeshi/buwan/domain/live/TVLiveCategory.java
New file @@ -0,0 +1,19 @@ package com.yeshi.buwan.domain.live; import java.util.Date; /** * 电视直播分类 */ public class TVLiveCategory { private String id; private String name; private String icon; private Integer weight; private Date createTime; private Date updateTime; } src/main/java/com/yeshi/buwan/domain/live/TVLiveCategoryChannelMap.java
New file @@ -0,0 +1,15 @@ package com.yeshi.buwan.domain.live; import java.util.Date; public class TVLiveCategoryChannelMap { private String id; private String channelId; private String categoryId; private Integer weight; private Date createTime; private Date updateTime; } src/main/java/com/yeshi/buwan/domain/live/TVLiveChannel.java
New file @@ -0,0 +1,26 @@ package com.yeshi.buwan.domain.live; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; import java.util.Date; /** * 电视直播渠道 */ @Document(collection = "tvLiveChannel") public class TVLiveChannel { @Id private String id; private String name; private String hPicture; private String vPicture; private String nowProgram; private String nowProgramTime; private String nextProgram; private String nextProgramTime; private Date createTime; private Date updateTime; } src/main/java/com/yeshi/buwan/domain/live/TVLiveChannelResourceMap.java
New file @@ -0,0 +1,17 @@ package com.yeshi.buwan.domain.live; import java.util.Date; public class TVLiveChannelResourceMap { private String channelId; private TVLiveResource resource; //第三方主键 private String rid; private Integer weight; private Date createTime; } src/main/java/com/yeshi/buwan/domain/live/TVLiveResource.java
New file @@ -0,0 +1,5 @@ package com.yeshi.buwan.domain.live; public enum TVLiveResource { migu, other; } src/main/java/com/yeshi/buwan/live/TVLiveOtherRecourceChannel.java
New file @@ -0,0 +1,5 @@ package com.yeshi.buwan.live; public class TVLiveOtherRecourceChannel { } src/main/java/com/yeshi/buwan/live/migu/MiGuLiveListInfo.java
New file @@ -0,0 +1,275 @@ package com.yeshi.buwan.live.migu; import java.io.Serializable; public class MiGuLiveListInfo implements Serializable { /** * name : 北京卫视高清 * pID : 630287636 * assetID : 5101042960 * videoType : LIVE * nowPlaying : 暖暖的味道精华版 * startTime : 16:36 * endTime : 17:25 * pics : {"lowResolutionH":"https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_H169_720.webp","lowResolutionV":"https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_V23_720.webp","highResolutionH":"https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_H169_1080.webp","highResolutionV":"https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_V34_1080.webp"} * h5pics : {"lowResolutionH":"https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_H169_720.jpg","lowResolutionV":"https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_HSJ720V.jpg","highResolutionH":"https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_H169_1080.jpg","highResolutionV":"https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_HSJ1080V.jpg"} * now : {"playbillId":"63028763620210429030","startTime":"16:36","endTime":"17:25","playName":"暖暖的味道精华版","ranking":"30","sequence":"550032115420210429030","status":0,"isLookBack":"0","isShield":"0"} * next : {"playbillId":"63028763620210429031","startTime":"17:25","endTime":"18:30","playName":"养生堂","ranking":"31","sequence":"550032115420210429031","status":0,"isLookBack":"0","isShield":"0"} * hdFlag : 0 */ private String id; private String name; private String pID; private String assetID; private String videoType; private String nowPlaying; private String startTime; private String endTime; private PicsBean pics; private PicsBean h5pics; private ProgramBean now; private ProgramBean next; private String hdFlag; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPID() { return pID; } public void setPID(String pID) { this.pID = pID; } public String getAssetID() { return assetID; } public void setAssetID(String assetID) { this.assetID = assetID; } public String getVideoType() { return videoType; } public void setVideoType(String videoType) { this.videoType = videoType; } public String getNowPlaying() { return nowPlaying; } public void setNowPlaying(String nowPlaying) { this.nowPlaying = nowPlaying; } public String getStartTime() { return startTime; } public void setStartTime(String startTime) { this.startTime = startTime; } public String getEndTime() { return endTime; } public void setEndTime(String endTime) { this.endTime = endTime; } public PicsBean getPics() { return pics; } public void setPics(PicsBean pics) { this.pics = pics; } public PicsBean getH5pics() { return h5pics; } public void setH5pics(PicsBean h5pics) { this.h5pics = h5pics; } public ProgramBean getNow() { return now; } public void setNow(ProgramBean now) { this.now = now; } public ProgramBean getNext() { return next; } public void setNext(ProgramBean next) { this.next = next; } public String getHdFlag() { return hdFlag; } public void setHdFlag(String hdFlag) { this.hdFlag = hdFlag; } public static class PicsBean { /** * lowResolutionH : https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_H169_720.webp * lowResolutionV : https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_V23_720.webp * highResolutionH : https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_H169_1080.webp * highResolutionV : https://wapx.cmvideo.cn/publish/poms/image/5500/321/154/202010151505_5101042960_V34_1080.webp */ private String lowResolutionH; private String lowResolutionV; private String highResolutionH; private String highResolutionV; public String getLowResolutionH() { return lowResolutionH; } public void setLowResolutionH(String lowResolutionH) { this.lowResolutionH = lowResolutionH; } public String getLowResolutionV() { return lowResolutionV; } public void setLowResolutionV(String lowResolutionV) { this.lowResolutionV = lowResolutionV; } public String getHighResolutionH() { return highResolutionH; } public void setHighResolutionH(String highResolutionH) { this.highResolutionH = highResolutionH; } public String getHighResolutionV() { return highResolutionV; } public void setHighResolutionV(String highResolutionV) { this.highResolutionV = highResolutionV; } } public static class ProgramBean { /** * playbillId : 63028763620210429030 * startTime : 16:36 * endTime : 17:25 * playName : 暖暖的味道精华版 * ranking : 30 * sequence : 550032115420210429030 * status : 0 * isLookBack : 0 * isShield : 0 */ private String playbillId; private String startTime; private String endTime; private String playName; private String ranking; private String sequence; private int status; private String isLookBack; private String isShield; public String getPlaybillId() { return playbillId; } public void setPlaybillId(String playbillId) { this.playbillId = playbillId; } public String getStartTime() { return startTime; } public void setStartTime(String startTime) { this.startTime = startTime; } public String getEndTime() { return endTime; } public void setEndTime(String endTime) { this.endTime = endTime; } public String getPlayName() { return playName; } public void setPlayName(String playName) { this.playName = playName; } public String getRanking() { return ranking; } public void setRanking(String ranking) { this.ranking = ranking; } public String getSequence() { return sequence; } public void setSequence(String sequence) { this.sequence = sequence; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public String getIsLookBack() { return isLookBack; } public void setIsLookBack(String isLookBack) { this.isLookBack = isLookBack; } public String getIsShield() { return isShield; } public void setIsShield(String isShield) { this.isShield = isShield; } } } src/main/java/com/yeshi/buwan/live/migu/MiguLiveApiUtil.java
New file @@ -0,0 +1,39 @@ package com.yeshi.buwan.live.migu; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.yeshi.buwan.util.HttpUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import java.lang.reflect.Type; import java.util.List; public class MiguLiveApiUtil { private static String LIVE_CATE = "[{\"name\":\"热门\",\"vomsID\":\"e7716fea6aa1483c80cfc10b7795fcb8\"},{\"name\":\"央视\",\"vomsID\":\"a5f78af9d160418eb679a6dd0429c920\"},{\"name\":\"卫视\",\"vomsID\":\"0847b3f6c08a4ca28f85ba5701268424\"},{\"name\":\"地方\",\"vomsID\":\"855e9adc91b04ea18ef3f2dbd43f495b\"},{\"name\":\"追剧\",\"vomsID\":\"dd5311d848b54c56acba186ff1107236\"},{\"name\":\"影视\",\"vomsID\":\"10b0d04cb23d4ac5945c4bc77c7ac44e\"},{\"name\":\"体育\",\"vomsID\":\"7538163cdac044398cb292ecf75db4e0\"},{\"name\":\"新闻\",\"vomsID\":\"c584f67ad63f4bc983c31de3a9be977c\"},{\"name\":\"教育\",\"vomsID\":\"af72267483d94275995a4498b2799ecd\"},{\"name\":\"熊猫\",\"vomsID\":\"e76e56e88fff4c11b0168f55e826445d\"},{\"name\":\"娱乐\",\"vomsID\":\"192a12edfef04b5eb616b878f031f32f\"},{\"name\":\"少儿\",\"vomsID\":\"fc2f5b8fd7db43ff88c4243e731ecede\"},{\"name\":\"纪实\",\"vomsID\":\"e1165138bdaa44b9a3138d74af6c6673\"},{\"name\":\"印象天下\",\"vomsID\":\"72504196e156468b873a39734f0af7db\"},{\"name\":\"特色\",\"vomsID\":\"f24ab89d1ad94b66b623945ae0c1350e\"},{\"name\":\"购物\",\"vomsID\":\"5938b5e060964fae9fe22ca20fbd5d6a\"}]"; public static List<MiGuLiveListInfo> getLiveList(String vomsID) { String url = "https://webapi.miguvideo.com/gateway/live/v2/tv-data/" + vomsID; String result = HttpUtil.get(url); System.out.println(result); JSONObject resultJSON = JSONObject.fromObject(result); if (resultJSON.optInt("code") != 200) return null; JSONArray array = resultJSON.optJSONObject("body").optJSONArray("dataList"); Type type = new TypeToken<List<MiGuLiveListInfo>>() { }.getType(); List<MiGuLiveListInfo> mList = new Gson().fromJson(array.toString(), type); return mList; } public static void main(String[] args) { List<MiGuLiveListInfo> list = getLiveList("a5f78af9d160418eb679a6dd0429c920"); System.out.println(list); } } src/test/java/com/hxh/spring/test/video/BilibiliTest.java
@@ -40,15 +40,15 @@ public void test2() throws Exception { BilibiliApiUtil.MediaUrlResult result = BilibiliApiUtil.getMediaList(BilibiliUtil.TYPE_DIANSHIJU, 2, 1); int page = result.getTotal() % 20 == 0 ? result.getTotal() / 20 : result.getTotal() / 20 + 1; for (int i = 0; i < page; i++) { System.out.println("page:"+i); for (int i = 30; i < 40; i++) { System.out.println("page:" + i); result = BilibiliApiUtil.getMediaList(BilibiliUtil.TYPE_DIANSHIJU, 2, i + 1); if (result.getResult() != null) for (String url : result.getResult()) { try { BilibiliMediaInfo mediaInfo = BilibiliApiUtil.parseMediaInfo(url); bilibiliVideoService.addToInternetSearch(mediaInfo); Thread.sleep(200); Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); }