admin
2019-07-17 2d1af175cf7e493b0f8bf95a3066434abc1da170
拼多多与京东的建议搜索
2个文件已修改
66 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java
@@ -1,7 +1,9 @@
package com.yeshi.fanli.util.jd;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -206,4 +208,33 @@
        return goods;
    }
    public static List<String> suggestSearch(String key) {
        List<String> list = new ArrayList<>();
        if (StringUtil.isNullOrEmpty(key))
            return list;
        String url = null;
        try {
            url = String.format(
                    "https://wq.jd.com/bases/searchdropdown/getdropdown?terminal=m&zip=1&key=%s&newjson=1&_=%s&sceneval=2",
                    URLEncoder.encode(key, "UTF-8"), System.currentTimeMillis() + "");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        if (url == null)
            return list;
        try {
            String result = HttpUtil.get(url);
            result = result.replace("callback(", "").replace(")", "");
            JSONArray array = JSONArray.fromObject(result);
            for (int i = 0; i < array.size(); i++) {
                String sk = array.optJSONObject(i).optString("key");
                if (!StringUtil.isNullOrEmpty(sk))
                    list.add(sk);
            }
        } catch (Exception e) {
        }
        return list;
    }
}
fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java
@@ -1,6 +1,8 @@
package com.yeshi.fanli.util.pinduoduo;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
@@ -11,6 +13,9 @@
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import org.yeshi.utils.HttpUtil;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -20,7 +25,7 @@
    public static List<String> getDetailImages(Long id) {
        List<String> imgList = new ArrayList<>();
        try {
            Document doc = Jsoup.connect("http://yangkeduo.com/goods.html?goods_id="+id)
            Document doc = Jsoup.connect("http://yangkeduo.com/goods.html?goods_id=" + id)
                    .userAgent(
                            "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36")
                    .get();
@@ -58,4 +63,32 @@
    }
    public static List<String> suggestSearch(String key) {
        List<String> list = new ArrayList<>();
        if (StringUtil.isNullOrEmpty(key))
            return list;
        String url = null;
        try {
            url = String.format("http://apiv3.yangkeduo.com/search_suggest?query=%s&pdduid=0",
                    URLEncoder.encode(key, "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        if (url == null)
            return list;
        try {
            String result = HttpUtil.get(url);
            JSONObject dataJSON = JSONObject.fromObject(result);
            JSONArray array = dataJSON.optJSONArray("suggest_list");
            for (int i = 0; i < array.size(); i++) {
                String sk = array.optJSONObject(i).optJSONObject("item_data").optString("suggestion");
                if (!StringUtil.isNullOrEmpty(sk))
                    list.add(sk);
            }
        } catch (Exception e) {
        }
        return list;
    }
}