如何获取 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 缩略图,这样我一眼就能知道哪些页面已被编入索引和缩略图,以及这些缩略图是什么样子的。
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/