2011-08-31 31 views
3

我想为我的大学项目在java中制作以下应用程序。我知道核心的Java。我想知道我应该怎样“专门”读取这个项目,因为时间较少:从Java中的互联网获取数据

它将有一个接口来放置您的查询。这个字符串将作为一个查询到互联网搜索引擎,并在搜索引擎的帮助下找到数据(我们看到的第一个网页(这是我申请的数据。:)))。
我不想显示数据。我只想要HTML文件或生成的网页的源代码。听起来像Common Getaway Interface吗?我不知道这件事。

但我认为它是为了同样的目的。如果是这样。请指导我知道如何实现这一点。
无论请注明

  • 问题1:我应该怎么看?任何直接的帮助都不是我的意图。我想自己实现它。
  • 问题2:连接到互联网也需要一些jnlp知识。

例如。因为在谷歌我们搜索的东西,它显示了我们的网站的链接。我可以看到这个生成的网页的源代码。我只想让这个页面让我的应用程序工作。

编辑: 我不想只依靠谷歌或任何特定的Web服务器。我想根据我的申请来决定。
请同时参考我的问题2.

正如我发现我们有条件的网站应试图使我的履带。那么我的申请不会违反规定。那对我来说很重要。

+0

但WebPages的大多数都有TOC,其中清楚地显示为可能使用的数字...关于分布,限制和所有者...... :-) – mKorbel

+0

那么,你有什么建议我应该做什么?我应该只为谷歌apis去。 –

回答

5

阿希什, 在这里我会推荐。

  1. 了解JSON的基础从这些链接(Introductionlib download
  2. 再来看看谷歌网络搜索JSON API here
  3. 了解如何使用HttpClient库here从服务器获取数据。
  4. 现在你要做的是,为搜索发起一个get请求,读取JSON响应,使用#1中的JSON库解析响应,并且你有搜索结果。
  5. 大多数搜索引擎(Bing等)都提供了Jason/REST API,因此您可以对其他搜索引擎执行相同的操作。

注意:Jason API通常用于UI方面的JavaScritps,但由于其非常容易和快速的学习,我向你提出了这个建议。您还可以探索(如果时间允许)基于XML的API。

+0

感谢您的链接。他们真的是我的起点。你的2.链接到谷歌网页搜索JSON API。它可以连接到桌面应用程序吗?我访问http://code.google.com/p/google-gson/应该这样做。请建议。 –

+0

是的。它应该是。它是一个API,它从Web UI或桌面应用程序调用它应该没有关系。 – Santosh

2

你可以使用HTMLUnit来做你想做的一切。这就像一个网页浏览器,但对于Java。在他们的网站查看一些例子。

+0

他提到_“我不想显示数据,我只想要HTML文件或源代码”_ –

+0

? htmlunit不仅仅是显示数据。大声笑,他还提到:“这个字符串将作为一个查询到互联网搜索引擎,并在搜索引擎的帮助下找到数据(我们看到的第一个网页”因为这个原因,它可能会有帮助。“ –

+0

@Maciejk所以HTMLUnit可以在网页上运行javascript,所以我可以通过“引导编程”来实现,无论我想要在引擎上进行搜索:=>将搜索查询放在框中并模拟按钮的JavaScript代码并获取文档。违反了网络服务器的TOC? –

4
URL url = new URL("http://fooooo.com"); 
in = new BufferedReader(new InputStreamReader(url.openStream())); 
String inputLine; 
while ((inputLine = in.readLine()) != null) 
    { 
    System.out.println(inputLine); 
    } 

应该足以让你开始。

是的,请检查您是否没有违反网站的使用条款。搜索引擎不真的喜欢你试图通过程序访问它们。

包括Google在内的许多API都专门为此设计了API。

+0

我如何将查询发送到任何搜索引擎而不使用网络具体apis。 –

+0

你coul d,但是你会违反网站的TOS。不会很长,直到他们中的一个人对你采取行动,其中最轻的将会将你的ip列入黑名单。我真的建议你制作一个服务,以整合你从各种搜索引擎API获得的结果,这将是合适的做你想做的事情的方式。 – amal

+0

所以HTMLUnit可以在网页上运行javascript。所以我可以通过“引导程序设计”来实现,无论我想要在引擎上进行搜索:=>在框中输入我的搜索查询并模拟按钮的JavaScript代码。并获取文档。我们会否违反Web服务器的TOC? –

1

读“Working with URL's”在Java教程得到一个想法是什么样的的HtmlUnit,HttpClient的可用库落后等

+0

请评论我的编辑 –

+0

因此HTMLUnit可以在网页上运行javascript。所以我可以通过“引导程序设计”来实现,无论我想要在引擎上进行搜索:=>在框中输入我的搜索查询并模拟按钮的JavaScript代码。并获取文档。我们会否违反Web服务器的TOC? –

+0

我没有呈现网页。这一切都发生在虚拟中? –

1

我不想显示数据。我只想要HTML文件或生成的网页的源代码。

你可能不需要HTML。 Google使用这个API作为网络服务提供搜索结果。同样适用于其他搜索引擎GIYF。您将搜索结果作为XML,这对您来说更容易分析。再加上XML不会有像广告这样的不需要的数据。