admin
2019-04-11 6f3eb63c05041b388a7252bdd42494848f237b3c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package com.yeshi.fanli.util.jd;
 
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
 
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.jsoup.Connection;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.yeshi.utils.HttpUtil;
 
import com.yeshi.fanli.util.StringUtil;
 
import net.sf.json.JSONObject;
 
public class JDUtil {
 
    public void test() {
        Map<String, String> systemParams = new HashMap<>();
        systemParams.put("method", "");
        systemParams.put("access_token", "");
        systemParams.put("app_key", "");
        systemParams.put("timestamp", "");
        systemParams.put("sign", "");
    }
 
    public void test2() {
        try {
            Document doc = Jsoup.connect("https://media.jd.com/gotoadv/goods?pageSize=50")
                    .header("Cookie",
                            "user-key=35f673a3-8deb-4db1-90bf-43d2b685b870; cn=0; ipLocation=%u91CD%u5E86; ipLoc-djd=4-51026-103-0; _jrda=1; 3AB9D23F7A4B3C9B=LYNZAJWVCG3JB2Y2DAFLL7AU7LJEKYHJJVLNSRH6XTXA6BG5LOLHDS7DGMOLFAGSC7IR522A23USQUITRAJPNEJG6Y; PCSYCityID=4; __jdu=525081455; pinId=KulFKBzJkdU; _tp=ixPyXPOm1mi0q7RQ93P3dvT9y0vNqhMLigKbC%2FovsFI%3D; _pst=%E5%B8%83%E4%B8%B8; ssid=\"mj3oPLd+SUW8dlOtEKP2Dg==\"; TrackID=1qW8pF973UBR96X_tYTsSeUzJpzCyFhzt9sA3a6Mmq9ztdVWo5vBXEpT5JLCT0cmznSYeBNsCxWDFBLLGPhICNH9_RVURX7r0ud7IxzKWt6w; pin=%E5%B8%83%E4%B8%B8; unick=%E5%B8%83%E4%B8%B8lee; ceshi3.com=000; unpl=V2_ZzNtbUYESkZ3CBFRL05aA2IHRQlLAEtBdwwTA3xMVFc3UBVcclRCFXwUR1ZnGFgUZwQZXkRcQBBFCENkexhdBGcDEVRKXnMldDhFVEsZbAFkBxNUQlJHEUU4QWR4GFwEbgAUXXKDyqeggc9kfRFVAW4EEVxGZ0IldQhOUHkQXwdvAyIPLI%2f1o62t90ivs9PQ75RfWUFTQhx1DUJQSxpdBWYKEVtCZ0A%3d; CCC_SE=ADC_AyccHFydhcYX3HBT1BSvsyipO8wTsbjSSsujA2jAK5w%2bm8Iw5Gtega%2fRtr3slwp4KzjI1sa3HD3nE9tum3OdhoBJ8WATI2GH%2bvbd7pwRdITE5P9e0O3KGdseb5exhIOQLJyA93d7oYLtirch7zucDeGuAnElGVxmftsByoqKA%2f0cLBXMvKm2amPVmroXA0ZWbXsx3fANkJA9cRgeOOlrsvTjsE8uPxTnRExR6IqNFiWXWXweJ2YD0%2bC826PxMVoXbStGvcs9XLcE7hrDJgZSvXmgJyMOLDkD4Fnwkt5dgJ6d2DrF89eSexsEicNzheQZe5l%2fA8XijdVruEk1dPTlRme3o4ccLKuO8Tgrcuamh232JjY4ROYEkXrpRMZbvbNBBmBFN%2bVYgzuXzlPDwiwgRCtGgEN%2fWdbLJTxaJWAS3AuAH2eZ0%2beCG4ZdC0Hwk3S6cefylnLDL0cvQp78Uv%2fty6c9KYxKLzohxBPcu8YYfiwnHz%2fb4V2Ou8GX8myp6iAZ; areaId=4; showNoticeWindow=false; assist=LGXT4ZUUMHZXTL3LU6SHBXHIRZLI6OXJQWZEEYHFZIWHLDNNBDTCNH3Q4XXGSXEMN7NE6HJKSX7HI43OROSTWQXGAC6CJKJAW6CNTU3DIFRBQ7IAX22A74W2JHBTDLWPYNWRIL24YXC2ZGEVTP53CLVCZ73NS5ZOZ74Z5FQSBVDOU6I6APXRILVG5MCYPSLUYUT2WXRPWFZZKHAXGAWASAHGPI; isvName=%E5%B8%83%E4%B8%B8; masterClose=yes; thor=A13BE3D5245C7CE481E9909D3D6A771DC2FCAFB44DF9FD097DDFAD8F40A3B03D20FCD92E6728B2BB5512DCEABCBA620E2CFA885DBA2B4ECDD4ACCA0B6B1E1385C2D293F5F314639621BFE86734829975B7446B875B5F50055F10D1DDB48C16C166F0F33ECDB6036EA53BFC8BCAF98978A7E4E6AB5444C31D973161E1E0EE9556; __jdv=108460702|baidu|-|organic|not set|1520243688557; __jda=108460702.525081455.1480070037.1520238446.1520243689.43; __jdc=108460702; __jdb=108460702.4.525081455|43.1520243689")
                    .header("Referer", "https://media.jd.com/index/overview").header("Upgrade-Insecure-Requests", "1")
                    .header("User-Agent",
                            "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36")
                    .get();
            Elements els = doc.getElementsByClass("product-list-b").get(0).getElementsByTag("ul").get(0)
                    .getElementsByTag("li");
            for (int i = 0; i < els.size(); i++) {
                System.out.println(els.get(0).attr("skuid"));
                getGoodsDetail("https://item.jd.com/" + els.get(i).attr("skuid") + ".html");
                try {
                    Thread.sleep(10);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
 
    }
 
    public void getGoodsDetail(String url) {
        try {
            Document doc = Jsoup.connect(url).get();
 
            String skuName = doc.getElementsByClass("itemInfo-wrap").get(0).getElementsByClass("sku-name").text();
            Element els = doc.getElementById("choose-attrs");
            Elements items = els.getElementsByClass("p-choose");
            System.out.println(skuName);
            for (int i = 0; i < items.size(); i++) {
 
                String title = items.get(i).getElementsByClass("dt").text();
                String content = items.get(i).getElementsByClass("selected").get(0).attr("data-value");
                System.out.println("--" + title + ":" + content);
            }
 
        } catch (IOException e) {
            e.printStackTrace();
        }
 
    }
 
    public void getCoupon() {
        Map<String, String> map = new HashMap<>();
        map.put("wareId", "6008133");
        Map<String, String> headers = new HashMap<>();
        headers.put("origin", "https://item.m.jd.com");
        // headers.put("", "");
        // headers.put("", "");
        String result = HttpUtil.post("https://item.m.jd.com/coupon/coupon.json", map, headers);
        System.out.println(result);
    }
 
    @SuppressWarnings("deprecation")
    public static void searchByKey(String key) {
        JSONObject params = new JSONObject();
        params.put("pageNo", 1);
        params.put("pageSize", 20);
        params.put("searchUUID", StringUtil.Md5(System.currentTimeMillis() + ""));
        JSONObject data = new JSONObject();
        data.put("deliveryType", "0");
        data.put("hasCoupon", "0");
        data.put("isCare", "0");
        data.put("isPinGou", "0");
        data.put("isZY", "0");
        data.put("key", key);
        data.put("keywordType", "kt1");
        data.put("lock", "");
        data.put("orientationFlag", "");
        data.put("searchType", "st1");
        params.put("data", data);
        HttpClient client = new HttpClient();
        PostMethod pm = new PostMethod("https://union.jd.com/api/goods/search");
        pm.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko");
        pm.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
        pm.setRequestHeader("Referer", "https://union.jd.com/proManager/index?pageNo=1&keywords=%E9%9E%8B%E5%AD%90");
        pm.setRequestBody(params.toString());
        try {
            client.executeMethod(pm);
            String result = pm.getResponseBodyAsString();
            System.out.println(result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
}