import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.luhuiguo.chinese.ChineseUtils; import org.jsoup.Connection; import org.jsoup.Jsoup; import java.io.IOException; import java.util.List; public class AniGamerParser implements Parser { private static final String INTERFACE_URL ="https://ani.gamer.com.tw/ajax/danmuGet.php"; @Override public String color(JSONObject content) { return Integer.parseInt(content.getString("color").replace("#", ""), 16)+""; } @Override public String size(JSONObject content) { if(content.getIntValue("size")==2){ return "30"; }else{ return "25"; } } @Override public String text(JSONObject content) { return ChineseUtils.toSimplified(content.getString("text")); } @Override public String style(JSONObject content) { if(content.getIntValue("position")==2){ return "2"; }else{ return "1"; } } @Override public String time(JSONObject content) { return (content.getDoubleValue("time")/10)+""; } @Override public List parse(String playUrl) { String tstr; try { tstr = Jsoup.connect(INTERFACE_URL).ignoreContentType(true).method(Connection.Method.POST).data("sn", playUrl.replaceAll("\\D+","")).execute().body(); } catch (IOException e) { throw new RuntimeException(e); } return JSON.parseArray(tstr).toJavaList(JSONObject.class); } }