好以前写的一个java采集淘宝搜索页面商品数据的函数

本文介绍了一个使用Jsoup进行网页内容抓取的具体案例。通过分析特定网页结构,该文展示了如何选择并提取商品名称、链接、价格等信息,并将这些信息存储到Product对象中。此外,还介绍了如何判断商品是否包邮、获取店铺名称及销售数量等细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用的是Jsoup

static public void parsePage(Document doc) throws Exception {
        List<Product> list = new ArrayList<Product>();
        
        Elements productview = doc.select("div.tb-content");
        Elements productgrids = productview.first().select("div.st-itembox");
        for (Element productdiv : productgrids) {
            Elements titlediv = productdiv.select(".summary");
            Elements titlea = titlediv.select("a");
            String name = titlea.first().attr("title");
            String href = titlea.first().attr("href");
            int sot = href.indexOf("."); // tmall 13 tao 15
            int ids = href.indexOf("id");
            long id = Long.parseLong(href.substring(ids+3,ids+12));
            String freeposts = productdiv.select(".row-focus").toString();
            int freepost;
            if (freeposts.indexOf("icon-service-free") != -1) {
                freepost = 1;
            } else {
                freepost = 0;
            }
            String storename = productdiv.select(".seller").text();
            String payinfo = productdiv.select(".dealing").text();
            int paycount = Integer.parseInt(payinfo.substring(0, payinfo.length() - 3));
            String loc = productdiv.select(".loc").text();
            String sprice = productdiv.select(".price").text();
            float price = Float.parseFloat(sprice.substring(1, sprice.lastIndexOf(".")+2));
            
            Product product = new Product();
            product.setFreepost(freepost);
            product.setLink(href);
            product.setName(name);
            product.setP_id(id);
            product.setPaycount(paycount);
            product.setPrice(price);
            product.setStoreloc(loc);
            product.setStorename(storename);
            if (sot == 13)
                product.setWeb("tianmao");
            else if (sot == 11)
                product.setWeb("taobao");
            
            list.add(product);
        }
        insertDB(list);

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值