Java从HTTP主体读取json

时间:2016-04-13 21:35:14

标签: java html json httprequest

我想用Java程序抓取以下链接的数据。 第一页没有问题,但是当我想要抓取下一页的数据时,有与第一页相同的源代码。 我需要的信息位于JSON中的数组中,该数据来自get请求的响应。您可以在this图片中查看设置和响应。

This是包含JSON的页面的链接。

我找到了这样的帖子:Get a JSON object from a HTTP response,但是如果我使用getContent()方法,我只获取页面的内容,而不是完整的HTTP Body。
我甚至尝试了getEntity()方法和更多的东西,但没有它们工作。
大多数其他帖子从源代码like here中包含JSON的页面中读取JSON 任何想法我怎么能得到完整的JSON或更好的数组?

感谢您的帮助, 亲切的问候。

1 个答案:

答案 0 :(得分:1)

我不确定你要做什么,但我试着弄明白。你想抓住这个page内容以及这个搜索的所有结果“247 Mitfahrgelegenheiten von Frankfurt nach Muenchen”对吗?

如果是这样,你不能只是做一个简单的HTTP获取此页面,因为网站有活动的内容,需要由HMTL / CSS / JavaScript渲染引擎解释和执行,即浏览器或浏览器开发者套件,如WebKit。幸运的是,有几种工具可以帮助您以多种语言执行此操作。最简单的是JavaScript,它是PhantomJS

获取该页面很简单,就像在javascript源文件中一样:

console.log('Loading a web page');
var page = require('webpage').create();
var url = 'http://phantomjs.org/';
page.open(url, function (status) {
  //Page is loaded!
  phantom.exit();
});

当然,还有一个小工作要做,但是PhantomJS有很多examples如何等待页面内容加载,在其中执行javascript,从而获得整个页面内容,就像你在真正的浏览器。