| | |
| | | *
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoGoodsBrief> getDingDongQiang() {
|
| | | List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
| | | public static List<DaTaoKeDetail> getDingDongQiang() {
|
| | | List<DaTaoKeDetail> goodsList = new ArrayList<>();
|
| | | try {
|
| | | Document doc = Jsoup.connect("http://dataoke.yeshitv.com/index.php?r=ddq/wap")
|
| | | Document doc = Jsoup.connect("http://www.dataoke.com/ddq")
|
| | | .userAgent(
|
| | | "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Mobile Safari/537.36")
|
| | | .get();
|
| | | Elements els = doc.getElementsByTag("script");
|
| | | for (int i = 0; i < els.size(); i++) {
|
| | | Element item = els.get(i);
|
| | | if (item.toString().length() > 5000) {
|
| | | String html = item.html();
|
| | | int endIndex = html.indexOf("} ;") + 1;
|
| | | int startIndex = html.indexOf("data =");
|
| | | String json = html.substring(startIndex + "data =".length(), endIndex).trim();
|
| | | JSONObject root = JSONObject.fromObject(json);
|
| | | Iterator<String> keys = root.keySet().iterator();
|
| | | List<String> ids = new ArrayList<>();
|
| | | while (keys.hasNext()) {
|
| | | String key = keys.next();
|
| | | JSONArray array = root.optJSONObject(key).optJSONArray("list");
|
| | | for (int j = 0; j < array.size(); j++) {
|
| | | if (TimeUtil.convertToTimeTemp(array.optJSONObject(j).optString("paiqi"),
|
| | | "yyyy-MM-dd HH:mm:ss") < System.currentTimeMillis())
|
| | | ids.add(array.optJSONObject(j).optString("id"));
|
| | | Elements items = doc.getElementsByClass("main").get(0).getElementsByClass("clearfix").get(0)
|
| | | .getElementsByTag("li");
|
| | | for (int i = 0; i < items.size(); i++) {
|
| | | DaTaoKeDetail detail = new DaTaoKeDetail();
|
| | | String id = items.get(i).getElementsByTag("a").get(0).attr("href").split("\\?")[1].replace("id=", "");
|
| | | detail.setId(Long.parseLong(id));
|
| | | goodsList.add(detail);
|
| | | }
|
| | | }
|
| | | Collections.shuffle(ids);
|
| | | List<Long> goodsIdList = new ArrayList<>();
|
| | | ids.parallelStream().forEach(id -> {
|
| | | try {
|
| | | long auctionId = getAuctionId(Long.parseLong(id));
|
| | | goodsIdList.add(auctionId);
|
| | | } catch (Exception e) {
|
| | | }
|
| | | });
|
| | |
|
| | | goodsIdList.parallelStream().forEach(goods -> {
|
| | | try {
|
| | | TaoBaoGoodsBrief gds = TaoKeApiUtil.searchGoodsDetail(goods);
|
| | | if (gds != null)
|
| | | goodsList.add(gds);
|
| | | } catch (Exception e) {
|
| | |
|
| | | }
|
| | |
|
| | | });
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | } catch (IOException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | return goodsList;
|
| | |
|
| | | }
|
| | |
|
| | | //
|
| | |
| | | // 标题+券后价+包邮+描述
|
| | | String desc = detail.getdTitle();
|
| | | desc += "\n";
|
| | | desc += String.format("券后价%s【%s元】包邮秒杀 ",Math.random()>0.5?"💰":"", MoneyBigDecimalUtil.getWithNoZera(detail.getPrice()).toString())
|
| | | desc += String.format("券后价%s【%s元】包邮秒杀 ", Math.random() > 0.5 ? "💰" : "",
|
| | | MoneyBigDecimalUtil.getWithNoZera(detail.getPrice()).toString())
|
| | | + (Math.random()>0.5?getRandomCommonEmoji():"");
|
| | | desc += "\n";
|
| | | // desc += detail.getIntroduce();
|
| | | String introduce = detail.getIntroduce().replace(",", ",").replace("。", ",").replace("!", ",")
|
| | | .replace(",", ",");
|
| | | String introduce = detail.getIntroduce().replace(",", ",").replace("。", ",").replace("!", ",").replace(",",
|
| | | ",");
|
| | | introduce=introduce.replace(",,,", ",").replace(",,", ",");
|
| | |
|
| | | String[] sts = introduce.split(",");
|
| | | introduce = "";
|
| | | for (int i = 0; i < sts.length; i++) {
|
| | | if (i % 2 == 1) {// 需要换行
|
| | | introduce += sts[i] + (Math.random()>0.5?getRandomCommonEmoji():i==sts.length-1?"":",") + "\n";
|
| | | introduce += sts[i] + (Math.random() > 0.5 ? getRandomCommonEmoji() : i == sts.length - 1 ? "" : ",")
|
| | | + "\n";
|
| | | } else
|
| | | introduce += sts[i] + (Math.random()>0.5?getRandomCommonEmoji():i==sts.length-1?"":",");
|
| | | }
|