javascript - Google 网页缩略图绝对 URI

标签 javascript jquery json google-chrome

如何获取 Google 搜索结果中页面 URL 的绝对 URI 或 base64 编码列表?

目标:

遍历 URL 数组:

pages["pinelakedesign.com"];
pages["pinelakedesign.com/about"];
pages["pinelakedesign.com/contact"];

输出:

  • Google 缩略图 1
  • Google 缩略图 2
  • Google 缩略图 N

Google 在其视觉搜索结果中使用 JPG 缩略图的 base64 字符串编码。在 2011 年,这个缩略图服务改变了以前的系统,在这个问题中描述了放大镜和绝对 URI 构造: https://stackoverflow.com/questions/6881319/google-web-thumbnails

我只想将网站中的页面列表平铺成 Google 缩略图,这样我一眼就能知道哪些页面已被编入索引和缩略图,以及这些缩略图是什么样子的。

Google search results thumbnail preview

2011 年 11 月 5 日编辑

我确定调用此 URL 会返回 JSONP,其中包含 base64 编码、Google 搜索结果标题、描述和 URL。

https://clients1.google.com/webpagethumbnail?r=4&f=3&s=400:585&query=pine+lake+design&hl=en&gl=us&c=29&d=http%3A%2F%2Fwww.pinelakedesign.com%2F&b=1&j=google.nyc.c.j_pVK1Tu_gAbODsAKH0ZTuAw_3787232970_3&expi=17291,27615,28936,30049,30316,31215,32035,32271,32410,32940,33104,33194,33627,33788,33854,33907,33975,34103&a=2NT

query=参数就是在google里搜索到的。 d= 是链接的目的地,也可能是缩略图的来源。 s=400:585 是高度和宽度。我不确定 r=4 和 f=3 做什么。修改这些变量中的任何一个都会导致 404 错误。我的直觉是 expi= 是某种基于不同参数值的校验和过期算法,但我不知道。

返回的 JSONP:

google.nyc.c.j_pVK1Tu_gAbODsAKH0ZTuAw_3787232970_3({"s":"b","b":1,"quality":100,"shards":[{"heights":[300,131],"imgs":["data:image/jpeg;base64,/9j/4AAQSkZ ...THIS IS THE LONG BASE64 ENCONDING ...pa5r61f/9k="],"tbts":[{"box":{"h":15,"l":0,"t":39,"w":224},"txt":"<em>Pine Lake</em> specializes in small business website <em>design</em>, redesign and hosting. We have developed the Sungem content management system which allows our <b>...</b>","txtBox":{"h":57,"l":0,"t":58,"w":400}}]}],"url":"http://www.pinelakedesign.com/"}
)

2011 年 11 月 8 日更新

我正在寻找类似 emedly's Preview 的解决方案用于查看 Google 缩略图。

2012 年 2 月 9 日更新

使用 Phantom JS 看起来是实现服务器端远程快照的好方法,但它无助于确定如何获取 Google 的图像。

2012 年 3 月 26 日更新

我相信 Google 的搜索蜘蛛是运行 1024 像素宽分辨率的桌面 Chrome 的 headless 版本。 Chrome 蜘蛛将允许蜘蛛执行 Javascript、使用@font-face、CSS3 选择器、查看 Flash(甚至等待预加载器达到 100%)并在加载所有 Assets 和 DOM 操作后拍摄渲染页面的准确快照。 Google 的任何人都可以权衡一下以确认或否认任何事情吗?

最佳答案

基本上,他们首先对查询 url 发出 curl 请求,然后从 html 响应中获取缺少的“a”参数。然后他们使用它来构建正确的 url 并调用 api 到 google API 以获取图像。之后还有更复杂的工作,例如将生成的图像与 ImageMagick 合并以获得完整预览,但这是一个加号...

关于javascript - Google 网页缩略图绝对 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7922790/

相关文章:

Python:限制用于发布到服务器的 json 字符串的大小

jQuery 缺少 JSON.stringify

json - 如何使用 "username"更改导航项标题?

javascript - React Native - 如何检查 UI/元素?

javascript - jQuery Datatables 分页设置

javascript - 显示其中一列为空的 HTML 表格

javascript - 如何确定 jquery mobile 是否已经加载?

javascript - 如何在 anchor 标记内创建下一篇/上一篇文章链接?

javascript - 在 Chrome 和 Edge 中调整大小的 float div 故障

javascript - 如何将 &lt;script&gt; 标记添加为简单字符串,而不将其视为 HTML 中的常规 &lt;script&gt; 标记?