package cn.ictgu.parse.video; import cn.ictgu.dto.Video; import cn.ictgu.parse.Parser; import cn.ictgu.serv.model.Episode; import cn.ictgu.tools.JsoupUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.jsoup.nodes.Document; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 熊猫TV * Created by Silence on 2017/4/30. */ public class Panda implements Parser<Video>{ private static final String PROVIDER = "熊猫TV"; private static final String PANDA_API = "http://room.api.m.panda.tv/index.php?method=room.shareapi&roomid="; @Override public Video parse(String url) { final Video video = new Video(); video.setValue(url); this.initVideo(video); String roomId = this.getRoomId(url); Document document = JsoupUtils.getDocWithPhone(PANDA_API + roomId); JSONObject json = JSON.parseObject(document.body().text()); JSONObject data = json.getJSONObject("data"); video.setTitle(data.getJSONObject("roominfo").getString("name")); video.setImage(data.getJSONObject("roominfo").getJSONObject("pictures").getString("img")); video.setPlayUrl(data.getJSONObject("videoinfo").getString("address")); return video; } @Override public List<Episode> parseEpisodes(String url) { return null; } private void initVideo(Video video){ video.setProvider(PROVIDER); video.setParserName("Github"); video.setParser("http://github.com"); video.setType("H5"); } private String getRoomId(String videoUrl){ String roomId = ""; Matcher matcher = Pattern.compile("([0-9]{3,})").matcher(videoUrl); if (matcher.find()){ roomId = matcher.group(1); } return roomId; } }