繁体   English   中英

Google如何在搜索引擎结果页面上呈现结果

[英]How does Google render it's results on the Search engine results page

我首先注意到结果不是来自服务器的HTML,因此我打开了开发工具并开始查看浏览器下载的其他文件。

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

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

我认为搜索结果可能在iframe元素内部,因此,它们不会显示在开发工具中。 考虑到这一假设,我查看了加载DOM后由JS生成的HTML,以为结果可能会嵌入到iframe而我又错了。

有谁知道Google如何获取和呈现其搜索结果?

我已经弄清楚了,所有这些操作都使用JavaScript完成,并在滚动时动态呈现。

Google+的工作方式与此类似。 实际上,只有在屏幕上看到的内容才在DOM上,并且在滚动时全部消失。

如果您试图通过屏幕抓取结果,则建议渲染到浏览器中并查看生成的DOM。 我使用铬。

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

响应是某种尴尬的JSON,其中包括文本,样式和一些JS。 它就像JSON对象,但由以下字符分隔: /*""*/

这是一个示例(自动换行,因为行很长):

回应范例

编辑我添加了Google提出的DevTools请求:

XHR请求

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM