Google如何在搜索引擎结果页

时间:2016-02-09 00:12:45

标签: javascript html ajax google-chrome-devtools google-search

我首先注意到结果不在从服务器收到的HTML中,因此我打开了Dev Tools并开始查看浏览器下载的其他文件。

我注意到只有一个xhr请求名为gcosuc且没有json(也没有xml或其他数据文件已下载)因此我认为代码嵌入在JS本身中。

然后我搜索了Chrome下载的所有.js文件,但我找不到搜索结果的来源。

我认为搜索结果可能是内部和iframe元素,因此它们不会显示在Dev Tools中。考虑到这个假设,我在加载DOM之后查看了JS生成的HTML,认为结果可能嵌入iframe中,而且我错了。

有没有人知道Google如何获取并呈现搜索结果?

2 个答案:

答案 0 :(得分:1)

除了我能够弄清楚之外,所有这些都是使用JavaScript完成的,并在滚动时动态呈现。

Google+的工作方式与此类似。只有你在屏幕上看到的实际上是在DOM上,当你滚动时它们都会消失。

如果您正在尝试筛选结果,我建议渲染到浏览器中并查看生成的DOM。我使用Chromium。

答案 1 :(得分:1)

快速尝试,这确实是一个AJAX请求。 URI为/s,它会传递GET参数,包括您搜索的内容。

响应是某种笨拙的JSON,包括文本,样式和一些JS。它就像JSON对象,但由此字符分隔:/*""*/

这是一个例子(单词包装因为行很长):

Example response

修改我添加了Google发出的DevTools请求:

XHR Requests

相关问题