color007 2015-03-24 11:53 采纳率: 0%
浏览 2572

httpclient怎么抓取最终跳转的网站数据?

公司要做个内部系统,抓取某个网站的数据,而那个网站是抓取淘宝的数据。

其中有个页面很复杂,搜索关键词后,跳转到当前页面,当前页面有个javascript 跳转淘宝请求数据。

(当我在他们网站搜索时,他们 是抓取淘宝数据的缓存到自己的网站,然后展现出来。
当我直接在地址栏拼接他们获取数据的地址时,发生了跳转,跳到淘宝去了。)

重点那个js的那个地址是他们网站的地址,然后再跳转到淘宝请求数据的

我的httpclient怎么抓到跳转的最终页面,也就是那个全是json数据的页面?

地址栏拼接参数跳转的最终页面

我自己的httpclient 抓取的静态方法如下:

 public String reqget(String url,String params){

        String paramsencode=null;
        HttpClient client=new   DefaultHttpClient();
        //获得服务器保存的coockie
        String cookieStr = "";
        List<Cookie> list = cs.getCookies();
        for (Cookie cookie : list) {
            cookieStr += cookie.getName() + "=" + cookie.getValue() + ";";
        }
        if(params!=""&&params!=null){
            //paramsencode = URLEncoder.encode(params, "GBK");
            url=url+"?"+params;
        }


        //封装Get请求
        HttpGet get=new HttpGet(url);
        get.setHeader("Cookie", cookieStr);     
        HttpResponse response;
        try {           

            //提交get请求
            response=client.execute(get);
            //通过响应的状态编码 判断请求是否成功提交
            if(response.getStatusLine().getStatusCode()==200)
            {
                //获得服务器端的响应结果
                  HttpEntity  respEntity= response.getEntity();

                  String  respStr=EntityUtils.toString(respEntity,"GBK");
                  return respStr;

            }
            //prgDlg.dismiss();
        }   
         catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
  • 写回答

1条回答

  • threenewbee 2015-03-24 11:56
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料