公司要做个内部系统,抓取某个网站的数据,而那个网站是抓取淘宝的数据。
其中有个页面很复杂,搜索关键词后,跳转到当前页面,当前页面有个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!=""&¶ms!=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;
}