IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Jsoup解析(京东搜索) -> 正文阅读

[JavaScript知识库]Jsoup解析(京东搜索)

Bean封装

package top.linruchang;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 作用:
 *
 * @author LinRuChang
 * @version 1.0
 * @date 2022/03/29
 * @since 1.8
 **/
@Data
@Builder
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class Product {

    /**
     * 产品名
     */
    String name;
    

    /**
     * 普通价格
     */
    String price;

    /**
     * 会员价
     */
    String VipPrice;

    /**
     * 产品图片
     */
    String imgUrl;

    /**
     * 店铺名
     */
    String shopName;


    /**
     * 产品标签
     */
    List<String> tags;
}

搜索工具类

package top.linruchang;

import cn.hutool.core.lang.Console;
import cn.hutool.core.util.StrUtil;
import lombok.SneakyThrows;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;

/**
 * 作用:
 *
 * @author LinRuChang
 * @version 1.0
 * @date 2022/03/29
 * @since 1.8
 **/
public class JdUtil {

    /**
     * 京东搜索
     * @param productName 搜索条件
     * @return
     */
    @SneakyThrows
    public static List<Product> getProductInfo(String productName) {
        List<Product> products = Collections.emptyList();
        if(StrUtil.isNotBlank(productName)) {
            String keyword = productName;
            String url = StrUtil.format("https://search.jd.com/Search?keyword={}&enc=utf-8&wq=%E6%89%8B%E6%9C%BA&pvid=52652c1508ae479cb6765f1a871ed23c", keyword);

            Document doc = Jsoup.parse(new URL(url), 5000);

            //Console.log("标题:{}",doc.title());
            //Console.log("内容:{}",doc.body().text());
            Element j_goodsList = doc.getElementById("J_goodsList");
            //Console.log(j_goodsList.html());
            Elements liElements = j_goodsList.select(".gl-item");

            products = new ArrayList<>();
            for (Element liElement : liElements) {

                String imgUrl = liElement.getElementsByTag("img").eq(0).attr("data-lazy-img");
                imgUrl = StrUtil.addPrefixIfNot(imgUrl,"http:");

                Product product = Product.builder()
                        .name(liElement.getElementsByClass("p-name").eq(0).text())
                        .price(liElement.getElementsByClass("p-price").get(0).getElementsByTag("strong").text())
                        .VipPrice(liElement.getElementsByClass("p-price").get(0).select("span[title='PLUS会员专享价']").text())
                        .imgUrl(imgUrl)
                        .tags(liElement.select(".p-icons i").eachText())
                        .shopName(liElement.getElementsByClass("p-shop").text()).build();
                products.add(product);

                
            }
        }
        return products;
    }


    public static void main(String[] args) {
        List<Product> products = getProductInfo("书包");
        products.forEach(Console::log);
    }
    
}

在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:14:48  更:2022-03-30 18:18:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:42:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码