Jsoup爬取簡單信息

1. 豆瓣圖書最受關注

1.1 創建SpringBoot項目或者Maven項目

1.2 引入jsoup

        <dependency><!-- jsoup HTML parser library @ https://jsoup.org/ --><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.15.3</version></dependency>

注意版本一定是1.15.3,1.15.4可能無法獲取信息

1.3 爬取信息

先找到豆瓣圖書網址
豆瓣

先找到整個布局的部分,list-col2,里面存儲著相應的元素標簽
在這里插入圖片描述

所以document的select標簽就是ul.list-col2 li,意思是選擇ul里面標簽list-col2,然后選擇里面的li
li里面分成兩個部分,包含cover和info,我這里取出info里面的信息
在這里插入圖片描述

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-9GrSUwwo-1691985379249)(/images/pqtp-7.png)]

標題通過h4.title里面的a標簽獲取
作者直接通過p.author獲取
里面的評分需要兩層獲取,先獲取p標簽,然后獲取limian的span標簽p.entry-star-small span.average-rating

public BaseResponse<String> famousDouBanBook(){String url = "https://book.douban.com/";Document document = null;try {document = Jsoup.connect(url).get();} catch (IOException e) {e.printStackTrace();}System.out.println(document);Elements elements = document.select("ul.list-col2 li");for (Element element : elements) {String title = element.select("h4.title a").text();String coverUrl = element.select("div.cover img").attr("src");String rate = element.select("p.entry-star-small span.average-rating").text();;String author = element.select("p.author").text();System.out.println("書名:" + title);System.out.println("封面:" + coverUrl);System.out.println("評分:" + rate);System.out.println("作者:" + author);System.out.println("------------------------");}return ResultUtils.success("ok");}

可以采用創建相關的實體類來存儲信息。

聲明:僅作為學習參考

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35909.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35909.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35909.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt應用開發(基礎篇)——堆棧窗口 QStackedWidget

一、前言 QStackedWidget繼承于QFrame&#xff0c;QFrame繼承于QWidget&#xff0c;是Qt常用的堆棧窗口部件。 框架類QFrame介紹 QStackedWidget堆棧窗口&#xff0c;根據下標切換&#xff0c;一次顯示一個小部件&#xff0c;常用于應用界面切換、圖片輪詢播放等場景。 二、QSt…

用Java調用C#的WebService接口

這是一個用Java調用C#版程序的例子,廢話不多說,上代碼: C#接口代碼: using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Web.Services.Description;[WebService(Namespace = " http://www.ta…

如何在Springboot項目中讀取zip壓縮包并且把文件導出成zip壓縮包

文章目錄 設想場景實現流程小結 設想場景 為方便老師錄入大量學生圖片信息&#xff0c;在添加照片時&#xff0c;學生的相關資料以身份證號碼圖片描述命名如 &#xff08;1231231234567一寸照片.jpg&#xff09; &#xff08;1231231234567身份證正面照片.jpg&#xff09; &am…

中小企業體育代言:探索費用策略與實際操作

隨著體育市場的不斷擴大和企業品牌的不斷提升&#xff0c;中小型企業正逐漸將目光投向了體育明星代言&#xff0c;希望通過這一策略來提升品牌知名度、美譽度&#xff0c;進而吸引目標消費者的注意力并提升銷售量。然而&#xff0c;中小型企業請體育明星代言的費用究竟是多少呢…

docker 離線模式-部署容器

有網絡的情況下下載需要的鏡像 比如(下面以tomcat為例子&#xff0c;其他鏡像類似) docker pull tomcat打包鏡像文件到本地 docker save tomcat -o tomcat.tar將tomcat.tar 上傳到內網服務器&#xff08;無外網環境&#xff09; 導入鏡像 docker load -i tomcat.tar創建容器…

element-ui的el-dialog,簡單的封裝。

el-dialog是使用率很高的組件 使用el-dialog很多都是按照文檔的例子&#xff0c;用一個變量控制是否顯示&#xff0c;再來一個變量控制標題。 如果我這個對話框多個地方使用的話還要創建多個變量&#xff0c;甚至關閉之后還要清空一些變量&#xff0c;應該可以簡化一點。我寫…

Windows Hyper-V Ubuntu 22.04 LTS安裝

文章目錄 Ubuntu準備Hyper-V啟用虛擬化支持services.msc 打開服務列表&#xff0c;關注Hyper-V服務是否啟動打開管理器創建虛擬機 啟動備份 Ubuntu 下載Ubuntu-Desktop&#xff0c;這是個iso文件。 準備 20GB以上的磁盤空間&#xff0c;ubuntu安裝后的虛擬磁盤文件超過15GB一…

C/C++test兩步完成CMake項目靜態分析

您可能一直在靜態分析中使用CMake。但您是否嘗試過將Parasoft C/Ctest與CMake一起使用嗎&#xff1f;以下是如何使用C/Ctest在基于CMake的項目中運行靜態分析的詳細說明。 CMake是用于構建、測試和打包軟件的最流行的工具之一。Parasoft C/Ctest通過簡化構建管理過程&#xff…

【Minecraft】Fabric Mod開發完整流程1 - 環境配置與第一個物品

前言 Fabric 是 Minecraft 一款非官方的模組 API,與 Forge mod 不同。它以輕量級和高性能為設計目標,專注于支持新版本的 Minecraft。 Fabric 和 Forge 在各自的加載編譯流程上差別很大&#xff0c;所以你很難看見有同時支持二者的 mod&#xff0c;除非做了兼容性處理 Fabri…

【Java筆記】對象存儲服務MinIO

1 MinIO簡介 MinIO基于Apache License v2.0開源協議的對象存儲服務&#xff0c;可以做為云存儲的解決方案用來保存海量的圖片&#xff0c;視頻&#xff0c;文檔。由于采用Golang實現&#xff0c;服務端可以工作在Windows,Linux, OS X和FreeBSD上。配置簡單&#xff0c;基本是復…

mac-右鍵-用VSCode打開

1.點擊訪達&#xff0c;搜索自動操作 2.選擇快速操作 3.執行shell腳本 替換代碼如下&#xff1a; for f in "$" doopen -a "Visual Studio Code" "$f" donecommand s保存會出現一個彈框&#xff0c;保存為“用VSCode打開” 5.使用

基于百度語音識別API智能語音識別和字幕推薦系統——深度學習算法應用(含全部工程源碼)+測試數據集

目錄 前言總體設計系統整體結構圖系統流程圖 運行環境模塊實現1. 數據預處理2. 翻譯3. 格式轉換4. 音頻切割5. 語音識別6. 文本切割7. main函數 系統測試工程源代碼下載其它資料下載 前言 本項目基于百度語音識別API&#xff0c;結合了語音識別、視頻轉換音頻識別以及語句停頓…

【人工智能124種任務大集合】-集齊了自然語言處理(NLP),計算機視覺(CV),語音識別,多模態等任務

大家好&#xff0c;我是微學AI&#xff0c;今天給大家介紹一下人工智能124種任務大集合&#xff0c;任務集合主要包括4大類&#xff1a;自然語言處理&#xff08;NLP&#xff09;、計算機視覺&#xff08;CV&#xff09;、語音識別、多模態任務。 我這里整理了124種應用場景任…

JavaScript基礎之基于數據類型和引用數據類型

原文合集地址如下&#xff0c;有需要的朋友可以關注 本文地址 數據類型 JavaScript的數據類型有7中&#xff0c;包括6個基本類型和一個引用類型 基本數據類型&#xff1a;number, string, boolean, null, undefined, symbol 引用數據類型&#xff1a;object&#xff08;數組…

工業物聯網數據橋接教程:Modbus 橋接到 MQTT

Modbus 介紹 Modbus 是一種串行通信協議&#xff0c;用于連接工業自動化設備&#xff0c;最初由 Modicon 公司開發&#xff0c;誕生于 1979 年&#xff0c;現在已成為通用的通訊標準之一&#xff0c;廣泛用于工業自動化場景。 Modbus 采用主從模式&#xff0c;支持多種傳輸方…

PyTorch深度學習實戰(11)——卷積神經網絡

PyTorch深度學習實戰&#xff08;11&#xff09;——卷積神經網絡 0. 前言1. 全連接網絡的缺陷2. 卷積神經網絡基本組件2.1 卷積2.2 步幅和填充2.3 池化2.3 卷積神經網絡完整流程 3. 卷積和池化相比全連接網絡的優勢4. 使用 PyTorch 構建卷積神經網絡4.1 使用 PyTorch 構建 CNN…

H5移動端附件下載

目錄 H5移動端附件下載 1. 使用 window.open() 進行下載 2. 使用 a 標簽創建隱藏的可下載鏈接 3. 使用 iframe 進行下載 4. 使用 FileSaver.js 插件下載 4.1 Vue項目中導入并使用下載附件 4.2 FileSaver.js 的其他知識 H5移動端附件下載 1. 使用 window.open() 進行下載…

ClickHouse的數據類型

1.整數型 固定長度的整型&#xff0c;包括有符號整型或無符號整型。整型范圍&#xff08;-2n-1~2n-1-1&#xff09;&#xff1a; Int8 - [-128 : 127] Int16 - [-32768 : 32767] Int32 - [-2147483648 : 2147483647] Int64 - [-9223372036854775808 : 9223372036854775807]無符…

Linux學習之sed多行模式

N將下一行加入到模式空間 D刪除模式空間中的第一個字符到第一個換行符 P打印模式空間中的第一個字符到第一個換行符 doubleSpace.txt里邊的內容如下&#xff1a; goo d man使用下邊的命令可以實現把上邊對應的內容放到doubleSpace.txt。 echo goo >> doubleSpace.txt e…

sealos安裝k8s

一、前言 1、我前面文章有寫過使用 kubeadm 安裝的方式&#xff0c;大家可以去參考 &#xff08;二&#xff09;k8s集群安裝&#xff0c;有一系列的k8s文章說明 2、安裝k8s的方式有很多 kubeadmsealoskubespray等等 3、關于sealos來安裝 k8s &#xff0c;也是非常建議大家去…