Java爬蟲爬取京東商品信息
阿新 • • 發佈:2018-06-18
1.2 image 商品 void code 更改 size pri name :
以下內容轉載於《https://www.cnblogs.com/zhuangbiing/p/9194994.html》,在此僅供學習借鑒只用。
Maven地址
<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 staticvoid 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());//打印商品標題到控制臺 } } } }
運行結果:
Java爬蟲爬取京東商品信息