Java爬蟲爬取京東商品信息

如下內容轉載於《https://www.cnblogs.com/zhuangbiing/p/9194994.html》,在此僅供學習借鑑只用。html

Maven地址node

<dependency>
  <!-- jsoup HTML parser library @ https://jsoup.org/ -->
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.11.2</version>
</dependency>數據庫

 

網頁分析佈局

 

 

商品佈局分析:學習

 

 

測試代碼實例:測試

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 * 做者:小魚
 * 做者惟一QQ號:1132017151
 * 
 * 簡單測試類
 * 包含內容:京東商品頁查詢
 * 不包含京東商品排除個性化查詢和後半部動態加載,若有想要了解,請聯繫做者
 * */
public class Test {
    
    public static void main(String[] args) throws Exception {
        String url = "https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&psort=3&page=3";//第二頁商品
        //網址分析
        /*keyword:關鍵詞(京東搜索框輸入的信息)
         * enc:編碼方式(可改動:默認UTF-8)
         * psort=3 //搜索方式  默認按綜合查詢 不給psort值
         * page=分業(不考慮動態加載時按照基數分業,每一頁30條,這裏就不演示動態加載)
         * 注意:受京東商品個性化影響,準確率沒法保障
         * */
        Document doc = Jsoup.connect(url).maxBodySize(0).get();
        //doc獲取整個頁面的全部數據
        Elements ulList = doc.select("ul[class='gl-warp clearfix']");
        Elements liList = ulList.select("li[class='gl-item']");
        //循環liList的數據
        for (Element item : liList) {
            //排除廣告位置
            if (!item.select("span[class='p-promo-flag']").text().trim().equals("廣告")) {
                //若是向存到數據庫和文件裏請自行更改
                System.out.println(item.select("div[class='p-name p-name-type-2']").select("em").text());//打印商品標題到控制檯
            }
        }
    }
}

 

 

運行結果:編碼

相關文章
相關標籤/搜索