【问题标题】:Monitor google search in Java在 Java 中监控谷歌搜索
【发布时间】:2014-06-18 16:10:38
【问题描述】:

对于我的硕士论文,我需要跟踪用户执行的谷歌搜索。它应该是一个网络项目。首先,我想设置一个服务器(充当代理)来监视用户执行的所有操作(搜索查询)。 服务器应该提供谷歌搜索页面。我需要跟踪用户的输入以及从谷歌返回的相应结果。

我的任务是现在..我应该如何开始?

  1. 我不确定要使用哪个网络服务器。我应该使用 tomcat / jetty / 还是别的什么? Java Server Faces 或 Servlet 呢?我很久以前就与 JSF 合作过,但我不确定使用它是否是一个好的决定。
  2. 服务器应该传送谷歌搜索页面。这是我的想法:用户连接到我的服务器。服务器“读取”谷歌页面并将其(源代码)返回给用户。我想在默认搜索字段上使用监听器来监控用户的搜索查询。但是如何监控从谷歌返回的结果呢?我猜谷歌网站本身使用 JavaScript。因此,当用户进行一些输入时,它会直接发送到谷歌,结果直接显示在网页上,因此我的网络服务器看不到客户端和谷歌服务之间的连接。

主要思想是监视搜索查询和相应的搜索结果。

我只需要一些帮助和想法就可以开始了。这只是我论文的一小部分。我不想在编辑期间从零开始,因此我想确保在开始之前做出正确的选择。

提前谢谢你...最好的问候。

【问题讨论】:

  • 你的硕士论文的目标是什么——它只是关于代理服务器吗?
  • 我们的目标是实施一种游戏化的方法来增加用户的搜索专业知识......你可以把它想象成一个游戏。一个可能的场景:可能会要求用户使用尽可能少的查询参数来搜索指定的网页。他进行了查询,然后我需要记录从谷歌返回的结果。如果所需的网页在前 10 个结果之下,他会收到一个徽章..exp.. 等等。用户可以获得积分/徽章/领导,是的,基本上就是这样。因此我需要监控搜索查询和相应的结果来分析它们......

标签: java search web proxy monitor


【解决方案1】:

您可以使用 netty 作为代理,只过滤和记录所有搜索查询。但话又说回来,为什么还要使用 java 呢?根据您的描述,您不想扮演中间人并操纵/记录 http 流量。

通过谷歌快速搜索找到了这个 python:https://code.google.com/p/proxpy/

编辑:和java中的类似https://github.com/adamfisk/LittleProxy

【讨论】:

  • 我对 Python 没有经验...我知道如何在 java 中设置与请求的网页 (javascript) 交互的服务器等等...从未尝试过使用 python。但是是的,你是对的,我想玩 mitm 来记录客户端和谷歌服务之间的 http 流量。
  • 感谢您的提示,请看一下。你觉得监控流量这么容易吗?因为搜索请求是在“后台”使用 javascript 发送的,因此我的服务器无法看到它们。最好不要加载完整的谷歌页面,而是使用谷歌搜索 API (developers.google.com/web-search/docs) 吗?我可以创建一个带有文本字段和按钮的简单页面。搜索查询被发送到我的服务器,它使用谷歌搜索 API 来提供结果......它看起来不太好,但通过这种方法我可以控制输入/输出......
猜你喜欢
  • 1970-01-01
  • 2012-08-19
  • 1970-01-01
  • 1970-01-01
  • 2018-07-06
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多