<strong> java<em style=“color:red;”>爬蟲</em></strong>工具:Jsoup
Maven地址
<dependency>
<!-- jsoup HTML parser library @ https://jsoup.org/ -->
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.2</version>
</dependency>
網頁分析:

商品布局分析:

Java代碼實例:
1 import org.jsoup.Jsoup; 2 import org.jsoup.nodes.Document; 3 import org.jsoup.nodes.Element; 4 import org.jsoup.select.Elements; 5 6 /** 7 * 作者:小魚 8 * 作者唯一QQ號:1132017151 9 * 10 * 簡單測試類 11 * 包含內容:京東商品頁查詢 12 * 不包含京東商品排除個性化查詢和后半部動態加載,如有想要了解,請聯系作者 13 * */ 14 public class Test { 15 16 public static void main(String[] args) throws Exception { 17 String url = "https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&psort=3&page=3";//第二頁商品 18 //網址分析 19 /*keyword:關鍵詞(京東搜索框輸入的信息) 20 * enc:編碼方式(可改動:默認UTF-8) 21 * psort=3 //搜索方式 默認按綜合查詢 不給psort值 22 * page=分業(不考慮動態加載時按照基數分業,每一頁30條,這里就不演示動態加載) 23 * 注意:受京東商品個性化影響,准確率無法保障 24 * */ 25 Document doc = Jsoup.connect(url).maxBodySize(0).get(); 26 //doc獲取整個頁面的所有數據 27 Elements ulList = doc.select("ul[class='gl-warp clearfix']"); 28 Elements liList = ulList.select("li[class='gl-item']"); 29 //循環liList的數據 30 for (Element item : liList) { 31 //排除廣告位置 32 if (!item.select("span[class='p-promo-flag']").text().trim().equals("廣告")) { 33 //如果向存到數據庫和文件里請自行更改 34 System.out.println(item.select("div[class='p-name p-name-type-2']").select("em").text());//打印商品標題到控制台 35 } 36 } 37 } 38 }
運行結果:

如有疑問可加作者QQ或者博客園留言,看到必回!
如有轉載,請自覺貼上本帖地址,謝謝合作!
