Java中用爬蟲進(jìn)行解析的實(shí)例方法
我們都知道可以用爬蟲來找尋一些想要的數(shù)據(jù),除了可以使用python進(jìn)行操作,我們最近學(xué)習(xí)的java同樣也支持爬蟲的運(yùn)行,本篇小編就教大家用java爬蟲來進(jìn)行網(wǎng)頁的解析,具體內(nèi)容請往下看:
1、springboot項(xiàng)目,引入jsoup
<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version> </dependency>
2、準(zhǔn)備解析對象
Content.java
package com.asia.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Content {
private String title;
private String img;
private String price;
}
3、爬蟲工具類
HtmlParseUtil.java
package com.asia.utils;
import java.net.URL;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import com.asia.pojo.Content;
public class HtmlParseUtil {
public static void main(String[] args) throws Exception {
new HtmlParseUtil().parseJD("西瓜").forEach(System.out::println);
}
public List<Content> parseJD(String keywords) throws Exception {
String url = "https://search.jd.com/Search?keyword=" + URLDecoder.decode(keywords, "GBK");
// 解析網(wǎng)頁.(Jsoup返回Document就是瀏覽器的Document對象)
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, src, price));
}
return list;
}
}
到此這篇關(guān)于Java中用爬蟲進(jìn)行解析的實(shí)例方法的文章就介紹到這了,更多相關(guān)Java中如何使用爬蟲進(jìn)行解析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實(shí)現(xiàn)代碼
這篇文章主要介紹了 java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
Java的分支結(jié)構(gòu)與循環(huán)你知道多少
這篇文章主要為大家詳細(xì)介紹了Java的分支結(jié)構(gòu)與循環(huán),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02
Java并發(fā)底層實(shí)現(xiàn)原理學(xué)習(xí)心得
本片文章是學(xué)習(xí)Java并發(fā)底層實(shí)現(xiàn)原理的一篇知識心得,對大家學(xué)習(xí)這個方便的知識很有幫助,一起參考下。2018-01-01
Java MD5加密工具類的方法(支持多參數(shù)輸入)
在實(shí)際開發(fā)過程中,MD5加密是一種常見的數(shù)據(jù)安全處理手段,常用于密碼存儲、數(shù)據(jù)完整性校驗(yàn)等場景,這篇文章主要介紹了Java MD5加密工具類(支持多參數(shù)輸入),需要的朋友可以參考下2024-05-05
使用java編程從0到1實(shí)現(xiàn)一個簡單計(jì)算器
這篇文章主要介紹了使用java編程從0到1實(shí)現(xiàn)一個簡單計(jì)算器,文章中用代碼實(shí)例講解的很清晰,有感興趣的同學(xué)可以學(xué)習(xí)研究下2021-02-02
SpringBoot中使用EasyExcel并行導(dǎo)出多個excel文件并壓縮zip后下載的代碼詳解
SpringBoot的同步導(dǎo)出方式中,服務(wù)器會阻塞直到Excel文件生成完畢,在處理大量數(shù)據(jù)的導(dǎo)出功能,本文給大家介紹了SpringBoot中使用EasyExcel并行導(dǎo)出多個excel文件并壓縮zip后下載,需要的朋友可以參考下2024-09-09
java中List去除重復(fù)數(shù)據(jù)的5種方式總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于java中List去除重復(fù)數(shù)據(jù)的5種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
JAVA設(shè)計(jì)模式之建造者模式原理與用法詳解
這篇文章主要介紹了JAVA設(shè)計(jì)模式之建造者模式,簡單說明了建造者模式的原理、組成,并結(jié)合實(shí)例形式分析了java建造者模式的定義與用法,需要的朋友可以參考下2017-08-08

