您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家?guī)碛嘘P在Jav中使用httpclient與Jsoup實現獲取動態(tài)生成的數據,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Java爬蟲Jsoup+httpclient獲取動態(tài)生成的數據
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();
演示:
通過這張截圖可以看到他傳過來的只是一個靜態(tài)資源頁面根本沒有價格參數,那么價格怎么來的呢,繼續(xù)找發(fā)現這個接口:
你會發(fā)現在這個接口是很多參數拼接上去的,那么我們要做的就是分析是不是所有的參數都有用
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
可以試著刪除一些參數發(fā)現最終這個接口需要的參數其實很簡單:
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實現獲取動態(tài)生成的數據了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。