2014-06-18 18 views
0

我的碩士論文我需要跟蹤谷歌搜索,用戶執行。它應該是一個Web項目。起初,我想設置一個服務器(就像一個代理)來監視用戶執行的所有操作(搜索查詢)。 服務器應該提供谷歌搜索頁面。我需要跟蹤用戶輸入的內容以及從google返回的相應結果。監視谷歌搜索在Java

我的問題是現在..我應該如何開始?

  1. 我不太確定要使用哪個網絡服務器。我應該使用tomcat/jetty /還是其他的東西? Java Server Faces或Servlets怎麼樣?我很久以前就和JSF一起工作過,但我不確定是否使用它的好決定。
  2. 服務器應該提供谷歌搜索頁面。這是我的想法:用戶連接到我的服務器。服務器「讀取」谷歌頁面並將其返回給用戶(源代碼)。我想在默認搜索字段上使用監聽器來監視用戶的搜索查詢。但是,如何監控從谷歌返回的結果呢?我猜,谷歌網站本身使用JavaScript。因此,當用戶輸入一些內容時,它會直接發送到Google,結果會直接顯示在網頁上,因此我的網絡服務器沒有看到客戶端與Google服務之間的連接。

主要想法是監視一個搜索查詢和相應的搜索結果。

我只是需要一些幫助和想法開始。這只是我論文的一小部分。我不想在編輯期間從零開始,因此我想確保在我開始之前做出正確的選擇。

預先感謝您......最好的問候。

+0

什麼是你的碩​​士論文的目標相似 - 它只是一個代理服務器? – home

+0

目標是實施遊戲化方法來增加用戶的搜索專業知識......您可以將其視爲遊戲。可能的情況:可能會要求用戶儘可能使用較少的查詢參數來搜索具有精確網頁的網頁。他做了一個查詢,然後我需要記錄從谷歌返回的結果。如果期望的網頁在前10名的結果下,他會收到徽章..exp ..等等。用戶可以獲得積分/徽章/領導,基本上就是這樣。因此,我需要監視搜索查詢和相應的結果來分析它們... –

回答

0

您可以使用netty作爲代理,只需篩選並記錄所有搜索查詢。但是爲什麼即使使用java呢?從你描述的你不想玩中間人和操縱/記錄http流量。

一個快速谷歌搜索想出了這個爲Python:https://code.google.com/p/proxpy/

編輯:和Java中https://github.com/adamfisk/LittleProxy

+0

我沒有經驗的Python ...我知道如何設置一個服務器在Java中與請求的網頁(JavaScript)交互等。 ..永遠不要試圖用python。但是,你是對的我想玩mitm記錄客戶端和谷歌服務之間的http流量。 –

+0

謝謝你的提示,請看看它。你認爲監控流量非常簡單嗎?由於搜索請求是通過javascript「在後臺」發送的,因此我的服務器無法看到它們。最好不要加載完整的谷歌頁面,而是使用谷歌搜索API(https://developers.google.com/web-search/docs/)?我可以創建一個帶有文本字段和按鈕的簡單頁面。搜索查詢被髮送到我的服務器,它使用谷歌搜索API來提供結果...它看起來不會很好,但用這種方法我可以控制輸入/輸出。 –