Jsoup简单使用

本文展示了如何使用Java的Jsoup库进行网页爬虫开发,以京东商品搜索为例,抓取商品图片、价格和名称等信息。通过创建Maven工程,导入Jsoup依赖,编写代码解析HTML并提取所需数据,最后将数据封装到实体类中展示。

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

  • java爬虫来了,不要天天说Python,Python,Python!!!java同样也可以!
  • 我这个是maven工程!
  • 首先安装导入依赖
<dependency>
       <groupId>org.jsoup</groupId>
       <artifactId>jsoup</artifactId>
       <version>1.14.2</version>
</dependency>

编写代码

package com.nx;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class JSOUPTEST {
    public static void main(String[] args) throws IOException {
        List<JD> jds = new JSOUPTEST().goodlist("电脑");
        for (JD info : jds){
            System.out.println(info.toString());
        }
    }

    public List<JD> goodlist(String key) throws IOException {

        String url = "https://search.jd.com/Search?keyword=" + key;
        Document document = Jsoup.parse(new URL(url), 30000);

        Element element = document.getElementById("J_goodsList");
        Elements elements = element.getElementsByTag("li");

        ArrayList<JD> list = new ArrayList<>();
        for (Element elements1 : elements){
            String imgurl = elements1.getElementsByTag("img").eq(0).attr("data-lazy-img");
            String price = elements1.getElementsByClass("p-price").eq(0).text();
            String title = elements1.getElementsByClass("p-name").eq(0).text();

            JD jd = new JD();
            jd.setImgurl(imgurl);
            jd.setPrice(price);
            jd.setTitle(title);

            list.add(jd);
        }
        return list;
    }
}

实体类(用来封装数据)

package com.nx;

public class JD {
    private String imgurl;
    private String price;
    private String title;

    public String getImgurl() {
        return imgurl;
    }

    public void setImgurl(String imgurl) {
        this.imgurl = imgurl;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @Override
    public String toString() {
        return "JD{" +
                "imgurl='" + imgurl + '\'' +
                ", price='" + price + '\'' +
                ", title='" + title + '\'' +
                '}';
    }
}

效果图

请添加图片描述
请添加图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值