您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關在Jav中使用httpclient與Jsoup實現獲取動態生成的數據,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Java爬蟲Jsoup+httpclient獲取動態生成的數據
String startPage="https://item.jd.com/11476104681.html"; Document document = Jsoup.connect(startPage).userAgent ("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36").get();
演示:
通過這張截圖可以看到他傳過來的只是一個靜態資源頁面根本沒有價格參數,那么價格怎么來的呢,繼續找發現這個接口:
你會發現在這個接口是很多參數拼接上去的,那么我們要做的就是分析是不是所有的參數都有用
https://p.3.cn/prices/mgets?callback=jQuery9734926&type=1&area=1&pdtk= pduid=14930020970791835891856&pdpin=jd_6738608ee8eed&pdbp=0&skuIds=J_11476104681&source=item-pc
可以試著刪除一些參數發現最終這個接口需要的參數其實很簡單:
https://p.3.cn/prices/mgets?callback=jQuery9734926&type=1&area=1&skuIds=J_11476104681&source=item-pc
看到這里是不是很激動了,你其實可以換一些其他的JD商品ID一樣能獲取到當前價格和最高價格已經那什么價格我也不清楚,我們需要做的只是寫一個Httpclient模擬請求這個接口
String doGet = HttpUtils.doGet("https://p.3.cn/prices/mgets?callback=jQuery9734926&type=1&area=1&skuIds=J_"+"11476104681"+"&source=item-pc", null); System.out.println(doGet);
結果是這樣:
jQuery9734926([{"id":"J_11476104681","p":"880.00","m":"980.00","op":"980.00"}]);
至于后面的你直接解析下JSON字符串那么你要的數據就GET到了。
上述就是小編為大家分享的在Jav中使用httpclient與Jsoup實現獲取動態生成的數據了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。