当前位置:   article > 正文

java爬取携程景点门票数据_携程数据查询

携程数据查询

进入携程官网查询杭州有哪些景点

 

f12 debug可以看到请求了某个接口 得到的数据   我们需要自己分析一下这个接口 需要的参数 请求头等。

我们在爬取的时候可以根据这个接口直接post请求json数据格式的景点信息

简单写一下  需要更详细的可以自己研究一下。

  1. public class test {
  2. public static void main(String[] args) throws IOException {
  3. //请求参数 json格式的
  4. //keyword 请求的地方是哪里
  5. //pidx 指的是当前要请求的页数
  6. //psize 每一页的大小
  7. String ss="{\"pageid\":103061,\n" +
  8. "\"searchtype\":2,\n" +
  9. "\"keyword\":\"杭州\",\n" +
  10. "\"needfact\":false,\n" +
  11. "\"sort\":1,\n" +
  12. "\"pidx\":1,\n" +
  13. "\"psize\":20,\n" +
  14. "\"reltype\":1,\n" +
  15. "\"excepts\":[],\n" +
  16. "\"filters\":[],\n" +
  17. "\"isneedf\":true,\n" +
  18. "\"isintion\":true,\n" +
  19. "\"imagesize\":\"C_200_130\",\n" +
  20. "\"assistfilter\":{\"userChooseSite\":\"100065\"},\n" +
  21. "\"contentType\":\"json\",\n" +
  22. "\"head\":{\"appid\":\"100013776\",\"cid\":\"09031037411652485539\",\"ctok\":\"\",\"cver\":\"1.0\",\"lang\":\"01\",\"sid\":\"8888\",\"syscode\":\"09\",\"auth\":\"\",\"extension\":[]},\n" +
  23. "\"ver\":\"7.10.3.0319180000\"}";
  24. Map headers=new HashMap();//请求头
  25. headers.put("Content-Type","application/json");
  26. 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");//模拟浏览器请求
  27. HttpClient h=new JavaHttpClient();//自己写一个httpclient的请求
  28. String s = h.dopost("http://sec-m.ctrip.com/restapi/soa2/12530/json/ticketSpotSearch?_fxpcqlniredt=09031037411652485539",headers,new ByteArrayInputStream(ss.toString().getBytes()),null).getResponseString();
  29. JSONObject j= JSON.parseObject(s);
  30. JSONObject da=j.getJSONObject("data");
  31. }
  32. }

请求后得到的json数据 

想要得到所有的景点信息  那就循环请求组装请求参数中的页数   注意循环请求需要一定的休息时间 否则会ip限制。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/640666
推荐阅读
相关标签
  

闽ICP备14008679号