日期:2014-05-17  浏览次数:20827 次

HttpClient 抓取网页js生成内容的问题。做过的侠客们。来看看啊
非常感谢您进来看到我的问题。我要去抓取京东商品的商品标题。有红色部分的标题是后面通过js 加载的。这样就获取不到。有什么办法能很好的获取到吗?有类似经验的同胞们 能否指点一二?

------解决方案--------------------
需要抓取ajax的内容,这是js动态加载的httpclient是获取不了的

那就需要直接模拟ajax那个请求

根据你的需求我看了下 

需要访问红色部分的标题

加入商品地址是 http://www.360buy.com/product/716240.html

获取其页面后,搜索下skuidkey,把其值获取出来

然后访问

String skuidkey = "";
String url = "http://www.360buy.com/ajaxService.aspx?stype=single&skuid="+skuidkey+"&callback=";

用Get方式访问这个url 

就会返回类似({"html":"\u76F4\u964D900\u5143\uFF0C\u4EC5\u9650\u4ECA\u592914:00-18:00\u9650\u65F6\u62A2\u8D2D\uFF01\u4EC5\u6B64\u4E00\u6279\uFF01"})

的结果 就已经获取到红色部分的标题了

当然你需要把unicode编码后的文本转为中文,不知怎么转就百度下
附:我写的从java版的unicode转中文代码翻译为c++的版本 http://blog.csdn.net/cscript/article/details/6164112