2011-08-31 29 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不會有像廣告這樣的不需要的數據。