问题描述
- httpclient怎么抓取最终跳转的网站数据?
- 公司要做个内部系统,抓取某个网站的数据,而那个网站是抓取淘宝的数据。
其中有个页面很复杂,搜索关键词后,跳转到当前页面,当前页面有个javascript 跳转淘宝请求数据。
(当我在他们网站搜索时,他们 是抓取淘宝数据的缓存到自己的网站,然后展现出来。
当我直接在地址栏拼接他们获取数据的地址时,发生了跳转,跳到淘宝去了。)重点那个js的那个地址是他们网站的地址,然后再跳转到淘宝请求数据的
我的httpclient怎么抓到跳转的最终页面,也就是那个全是json数据的页面?
我自己的httpclient 抓取的静态方法如下:
public String reqget(String urlString 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!=""""&¶ms!=null){ //paramsencode = URLEncoder.encode(paramsGBK""); 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(respEntityGBK""); return respStr; } //prgDlg.dismiss(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }
解决方案
需要处理重定向,参考
http://blog.csdn.net/dada360778512/article/details/7751340
时间: 2024-11-01 15:39:03