一、maven項目里pom添加jsoup依賴
<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version> </dependency>
以抓取CSDN主頁的右側導航欄為例
代碼示例:
1 package com.oukele.csdn_demo; 2 3 import org.jsoup.Jsoup; 4 import org.jsoup.nodes.Document; 5 import org.jsoup.nodes.Element; 6 import org.jsoup.select.Elements; 7 8 import java.io.IOException; 9 10 public class CsdnCrawlDemo { 11 12 public static void main(String[] args) { 13 //目標地址 14 String url = "https://www.csdn.net/"; 15 try { 16 Document document = Jsoup 17 .connect(url) 18 .header("user-agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36") 19 .get(); 20 // 右側導航欄 21 Elements nav_com = document.getElementsByClass("nav_com"); 22 Elements elements = nav_com.select("ul>li"); 23 for (Element element : elements) { 24 System.out.println("導航標題:"+element.text()+"\t標題訪問地址:"+element.select("a").attr("href")+"\r\n"); 25 //這里 我們可以 根據 得到的訪問鏈接 再進行 爬取......... 26 } 27 } catch (IOException e) { 28 System.out.println("出現錯誤:"+e.getMessage()); 29 } 30 31 32 } 33 34 }
運行結果:
1 導航標題:推薦 標題對應的鏈接:/ 2 3 導航標題:最新文章 標題對應的鏈接:/nav/newarticles 4 5 導航標題:關注 標題對應的鏈接:/nav/watchers 6 7 導航標題:資訊 標題對應的鏈接:/nav/news 8 9 導航標題:人工智能 標題對應的鏈接:/nav/ai 10 11 導航標題:雲計算/大數據 標題對應的鏈接:/nav/cloud 12 13 導航標題:區塊鏈 標題對應的鏈接:https://blockchain.csdn.net 14 15 導航標題:數據庫 標題對應的鏈接:/nav/db 16 17 導航標題:程序人生 標題對應的鏈接:/nav/career 18 19 導航標題:游戲開發 標題對應的鏈接:/nav/game 20 21 導航標題:研發管理 標題對應的鏈接:/nav/engineering 22 23 導航標題:前端 標題對應的鏈接:/nav/web 24 25 導航標題:移動開發 標題對應的鏈接:/nav/mobile 26 27 導航標題:物聯網 標題對應的鏈接:/nav/iot 28 29 導航標題:運維 標題對應的鏈接:/nav/ops 30 31 導航標題:計算機基礎 標題對應的鏈接:/nav/fund 32 33 導航標題:編程語言 標題對應的鏈接:/nav/lang 34 35 導航標題:架構 標題對應的鏈接:/nav/arch 36 37 導航標題:音視頻開發 標題對應的鏈接:/nav/avi 38 39 導航標題:安全 標題對應的鏈接:/nav/sec 40 41 導航標題:其他 標題對應的鏈接:/nav/other