From f38e508d334ae03024f0dce0d1fb6baed212dc24 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 26 九月 2019 15:52:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java | 48 ++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 44 insertions(+), 4 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java index f320f20..9396568 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java @@ -14,6 +14,9 @@ import javax.annotation.PostConstruct; import javax.annotation.Resource; +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -1918,10 +1921,47 @@ return true; } - public static void main(String[] args) { - String s = channelMap.get("3"); - System.out.println(s); - + /** + * 鏌ヨ澶╃尗鍟嗗搧鍥剧墖銆佹爣棰� + * @param auctionId + * @return + */ + public static TaoBaoGoodsBrief getTmallGoodsInfo(String auctionId) { + TaoBaoGoodsBrief taoBaoGoodsBrief = null; + try { + Connection connect = Jsoup.connect(String.format(TM_PHONE_URL, auctionId)); + Document document = connect.get(); + Elements elements = document.getElementsByTag("script"); + if (elements.size() >= 0) { + for (int i = 0; i < elements.size(); i++) { + String content = elements.get(i).toString(); + if (content.contains("var _DATA_Mdskip")) { + content = content.replace("<script>", ""); + content = content.replace("</script>", ""); + content+=";function getData(){ var json={title:_DATA_Mdskip.item.title,pictUrl:_DATA_Mdskip.item.videoDetail.videoThumbnailURL}; return JSON.stringify(json);}"; + + ScriptEngineManager manager = new ScriptEngineManager(); + ScriptEngine engine = manager.getEngineByName("javascript"); + engine.eval(content); + + if (engine instanceof Invocable) { + Invocable in = (Invocable) engine; + JSONObject json = JSONObject.fromObject(in.invokeFunction("getData")); + Object title = json.get("title"); + Object pictUrl = json.get("pictUrl"); + taoBaoGoodsBrief = new TaoBaoGoodsBrief(); + taoBaoGoodsBrief.setTitle(title.toString()); + taoBaoGoodsBrief.setPictUrl(pictUrl.toString()); + } + + break; + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return taoBaoGoodsBrief; } } -- Gitblit v1.8.0