進入某一個景點頁面 f12
點擊評論部分 點擊評論的下一次可以看到請求了某個接口得到了評論數據
我們在爬取的時候可以根據這個接口直接post請求json數據格式的景點評論信息
簡單寫一下 需要更詳細的可以自己研究一下。
public class test2 {
public static void main(String[] args) throws IOException { //所有景點評價信息
//viewid景點id pagenum 頁數 pagesize每頁的條數
String ss="{\"pageid\":10650000804,\"viewid\":4081,\"tagid\":0,\"pagenum\":1,\"pagesize\":10," +
"\"contentType\":\"json\",\"head\":{\"appid\":\"100013776\",\"cid\":\"09031023111845972880\"," +
"\"ctok\":\"\",\"cver\":\"1.0\",\"lang\":\"01\",\"sid\":\"8888\"," +
"\"syscode\":\"09\",\"auth\":\"\",\"extension\":[]},\"ver\":\"7.10.3.0319180000\"}";
Map headers=new HashMap();
headers.put("Content-Type","application/json");
headers.put("user-agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36");
HttpClient h=new JavaHttpClient();
String s = h.dopost("http://sec-m.ctrip.com/restapi/soa2/12530/json/viewCommentList?_fxpcqlniredt=09031023111845972880",headers,new ByteArrayInputStream(ss.toString().getBytes()),null).getResponseString();
JSONObject j= JSON.parseObject(s);
JSONObject da=j.getJSONObject("data");
}
}
想要得到所有的景點評價信息 那就循環請求組裝請求參數中的頁數 注意循環請求需要一定的休息時間 否則會ip限制。