From 48e4c4328cfd305d5465b66db11521ff70723683 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 24 十二月 2019 16:59:00 +0800 Subject: [PATCH] 京东内优惠商品爬取,淘宝无推广商品信息获取 --- fanli/src/main/java/com/yeshi/fanli/controller/TestController.java | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java b/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java index 6ee75c8..e3ae5aa 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/TestController.java @@ -6,7 +6,9 @@ import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; import java.math.BigDecimal; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -19,6 +21,9 @@ import javax.script.ScriptEngineManager; import javax.servlet.http.HttpServletRequest; +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.HttpException; +import org.apache.commons.httpclient.methods.GetMethod; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; @@ -488,4 +493,37 @@ } catch (Exception e) { } } + + @RequestMapping("getTaoBaoGoodsDetail") + public void getTaoBaoGoodsDetail(Long id, String headers, PrintWriter out) { + JSONObject data = new JSONObject(); + data.put("itemNumId", id + ""); + + String url = ""; + try { + url = String.format("https://acs.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?data=%s", + URLEncoder.encode(data.toString(), "UTF-8")); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + HttpClient client = new HttpClient(); + GetMethod gm = new GetMethod(url); + String result = null; + try { + JSONObject headerJson = JSONObject.fromObject(headers); + for (Iterator<String> its = headerJson.keys(); its.hasNext();) { + String key = its.next(); + gm.setRequestHeader(key, headerJson.optString(key)); + } + client.executeMethod(gm); + result = gm.getResponseBodyAsString(); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + out.print(result); + } + } -- Gitblit v1.8.0