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

问题描述

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!=""""&&params!=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

抓取数据-httpclient怎么抓取最终跳转的网站数据?的相关文章

Java通过UrlConnection和Httpclient实现爬取并保存至本地实例

下面是我简单实现爬取指定网页,并且保存的简单实现,其实有几种方式可以实现,这里慢慢添加该功能的几种实现方式. UrlConnection爬取实现 package html; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.I

每天自动备份网站数据,发现问题一键恢复 ——阿里云虚拟主机推出网站数据自动备份功能

近日,阿里云宣布推出虚拟主机网站自动备份功能,可自动备份用户的网站和数据库数据至单独的备份区域,用户可随时恢复前三天的网站和数据库的数据.一旦出现意外或者数据丢失情况,可将损失降低到最低. 数据是用户的最重要的财产,网站数据一旦丢失,损失无法估量,而用户自行进行网站备份耗力耗时.阿里云特别推出了自动备份功能,降低在意外情况下数据丢失的风险,减小用户损失.十分适合对备份网站数据操作不熟悉,不具备相关技术的用户. 阿里云虚拟主机网站自动备份功能,一方面可以做到自动备份,每天自动备份用户的网站和数据库

悲惨:骇客败类删除服务器中所有的网站数据

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 嘿色家族骇客中的败类删除我们服务器所有网站数据 一场悲痛的事情既然发生在我们公司身上,是不幸还是倒霉,还是老天和我们开这个天大玩笑,公司整整1年多的数据就毁于1夜之间,就是因为这个嘿色家族工作室里面那个HeyColor 怎么能和我们开这个天大的玩笑了,要钱我们也已经转给你了 怎么还把数据全部摧残了 2008年4月26号下午他利用服务器上面一个

httpclient...-HttpClient登录新浪微博,然后从微博抓取数据,下次登录的时候从cookies获取登录数据

问题描述 HttpClient登录新浪微博,然后从微博抓取数据,下次登录的时候从cookies获取登录数据 如题 小的刚入职场,领导让实现这样的功能,求各位大大指导一下 解决方案 先用浏览器登录,勾选记住密码,同时用fiddler抓包 HttpClient照着模拟,特别注意提交的cookie 解决方案二: http://blog.sina.com.cn/s/blog_75a4f95a0101ebs1.html 解决方案三: http://abandontofree.blog.sohu.com/2

现在hao123网站数据采用异步加载的方式,有没有方法可以比较简单的抓取或解析出来

问题描述 现在hao123网站数据采用异步加载的方式,有没有方法可以比较简单的抓取或解析出来 现在hao123网站数据采用异步加载的方式,用jsoup或httpclient都无法将页面内容取出来,是我没有用来jsoup或httpclient还是解析不了或抓不了,有没有什么方法可以解析.求大神指点.

httpclient做抓取,最后一步的抓取是感觉是webservice,请求报文是SOAP类型的xml

问题描述 httpclient做抓取,最后一步的抓取是感觉是webservice,请求报文是SOAP类型的xml.请问怎么用httpclient模拟啊 解决方案 解决方案二:没看懂,就是httpclient模拟,然后返回数据解决方案三:是的,返回这错org.eclipse.birt.report.exception.ViewerException:Theviewingsessionisnotavailableorhasexpired.atorg.eclipse.birt.report.servl

关于大数据量中抓取数据的问题,

问题描述 在项目中遇到一个问题,需求是这样的:数据库中一张表,有几十万条用户记录,要求每隔一段时间(不能超过一个小时)就从这些数据中抓取一部分出来(大约1000条),要确保用户记录能均匀的被抓取到.我现在的做法是,启用一个定时程序,每隔10分钟就从数据库里面随机抓取500条记录.但是好像不能做到均匀.另外还要考虑下性能问题,数据库为mysql有什么好的方法能确保均匀?问题补充bureaucrat 写道 解决方案 如果是单纯的想要随机把所有的抽取完得话,用自带的随机函数能够保证随机,但是在一个范围

制作一个股票查询系统,股票行情数据从哪里抓取呢?请各位帮忙

问题描述 制作一个股票查询系统,股票行情数据从哪里抓取呢?在自己设计得网页上,输入某支股票代码,能够即时看到当前行情,在随时变化.但是从哪里获取最新行情呢?有获取点吗?望帮忙提供! 解决方案 这个很多公司都有借口的,但是好像要收费,还有种办法就是去扒取别人网站的信息,比如你在google输入某只股票,出来的信息进行扒取分析,筛选出你要的信息就可以了思路就是这么个思路,解决方案二:这个希望能帮助LZhttp://www.21andy.com/blog/20090530/1313.html解决方案三

这种网页数据,怎么抓取

问题描述 有些网站,打开网页源代码,源代码里面没有自己想要的数据,而明明这些数据在网页上又是显示了的.那请问,这些数据该怎么抓取呢?在源代码里有的数据,我是能够抓取的. 解决方案 解决方案二:应该是用js从服务器取数据并显示.据说js执行完毕没有事件,因此只能设置个定时器,设置足够的时间,到时候用用Document取得DOM数据.解决方案三:那是通过js到后方取数据,然后动态显示上去的,你需要模拟它的提交参数,来获取内容,googleC#模拟提交解决方案四:说明这些数据不是这个网页返回的,而是这