美文网首页
Kevin_ZGJ 代码在这

Kevin_ZGJ 代码在这

作者: 你好凶猛 | 来源:发表于2018-02-21 21:20 被阅读7次

    //service修改

            List comments = spiderComments(goodsId, 1);

            GoodsInfo goodsInfo =new GoodsInfo(goodsId, goodsName, imgUrl, goodsPrice, comments);

            goods.add(goodsInfo);

            String jsonStr = JSON.toJSONString(goodsInfo);

            logger.info("成功爬取【" + goodsName +"】的基本信息 ");

            logger.info(jsonStr);

            if (index++ ==9) {

    break;

            }

    }

    return goods;

    }

    private ListspiderComments(String goodId, int frequency) {

    List goodComments =new ArrayList<>();

            for (int page =0; page < frequency; page++) {

    String json = loadJson("http://club.jd.com/productpage/p-" + goodId +"-s-0-t-1-p-" + page +".html");

                JSONObject jObj = JSONObject.parseObject(json);

                if (jObj !=null) {

    JSONArray comments = jObj.getJSONArray("comments");

                    if (comments !=null && !"".equals(comments)) {

    for (int i =0; i < comments.size(); i++) {

    JSONObject comment = comments.getJSONObject(i);

                            String tempContent = comment.getString("content");

                            if (tempContent !=null && !"".equals(tempContent)) {

    System.out.println(tempContent);

                                goodComments.add(tempContent);

                            }else {

    break;

                            }

    }

    }

    }else {

    break;

                }

    }

    return goodComments;

        }

    private StringloadJson(String url) {

    StringBuilder json =new StringBuilder();

            try {

    URL urlObject =new URL(url);

                URLConnection uc = urlObject.openConnection();

                BufferedReader in =new BufferedReader(new InputStreamReader(

    uc.getInputStream(), "GBK"));

                String inputLine =null;

                while ((inputLine = in.readLine()) !=null) {

    json.append(inputLine);

                }

    in.close();

            }catch (MalformedURLException e) {

    e.printStackTrace();

            }catch (IOException e) {

    e.printStackTrace();

            }

    return json.toString();

        }

    }

    //修改handle部分

    for (int i =1; i <7; i +=2) {

    Map params = Maps.newHashMap();

        params.put("keyword", keyword);

        params.put("enc", "utf-8");

        params.put("wc", keyword);

        params.put("page", i +"");

        executorService.submit(() -> {

    tempGoods=spiderService.spiderData(SysConstant.BASE_URL, params);

            bigGoods.addAll(tempGoods);

            countDownLatch.countDown();

        });

    }

    相关文章

      网友评论

          本文标题:Kevin_ZGJ 代码在这

          本文链接:https://www.haomeiwen.com/subject/tsdltftx.html