日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jsoup实现超简单的爬虫

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsoup实现超简单的爬虫 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java爬蟲我教你

  • 使用工具
  • 項目結構
  • 測試

爬取數據是個很好玩的事情,最近我也是在研究這個東西,然后呢接下來我給大家講一段小案例,可以滿足各位小伙伴的好奇心,藤井就廢話不多說,直接上代碼

使用工具

maven依賴
(1)lombok
這個依賴是方便我們的爬取數據的對象方便直接進行封裝

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version></dependency>

(2)jsoup
jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據。

<dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.10.2</version></dependency>

使用工具以及框架
工具:IDEA
框架:SpringBoot

項目結構

pojo包
content.java
這個類是存放數據對象的,你需要網站的數據格式肯定是不同的,我們這次爬取網頁數據如下,直接上代碼:

package com.reptile.uncletj.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;/** * @Author 藤井大叔 * @Date 2021-01-03 22:26 * @Version SpringBoot 2.2.2 * @projectName 數據對象 */ @Data @AllArgsConstructor @NoArgsConstructor public class Content {/*** 數據類型*/private String title;/*** 價格*/private String price;/*** 照片路徑*/private String img; }

utils包
工具包主要用于將數據存儲在集合中的業務代碼,我這邊直接在控制臺簡單展示給大家看一下
HtmlUtils.java

package com.reptile.uncletj.utils;import com.reptile.uncletj.pojo.Content; 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.net.URLDecoder; import java.util.ArrayList; import java.util.List;/*** @Author 藤井大叔* @Date 2021-01-03 22:29* @Version SpringBoot 2.2.2* @projectName*/ public class HtmlUtils {public List<Content> parseJD(String keywords) throws Exception {String url = "https://search.jd.com/Search?keyword=" + URLDecoder.decode(keywords, "GBK");Document document = Jsoup.parse((new URL(url)), 30000);Element element = document.getElementById("J_goodsList");Elements elements = element.getElementsByTag("li");List<Content> list = new ArrayList<Content>();for (Element el : elements) {String src = el.getElementsByTag("img").eq(0).attr("data-lazy-img");String price = el.getElementsByClass("p-price").eq(0).text();String name = el.getElementsByClass("p-name").eq(0).text();list.add(new Content(name, price,src ));}return list;} }

測試

我這里寫了一個測試類,直接實例化utils類就好了,上代碼
Demo.java

package com.reptile.uncletj.main;import com.reptile.uncletj.utils.HtmlUtils;/*** @Author 藤井大叔* @Date 2021-01-03 22:37* @Version SpringBoot 2.2.2* @projectName*/ public class Demo {public static void main(String[] args) throws Exception {HtmlUtils htmlUtils = new HtmlUtils();htmlUtils.parseJD("家電").forEach(System.out::println);} }

爬取數據控制臺顯示

就是這么簡單,數據就到控制臺了,下期我來給大家講解一下怎么把爬取到的數據利用起來,應該用怎么樣的方式呢?盡情期待

總結

以上是生活随笔為你收集整理的jsoup实现超简单的爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。