Javascript 谷歌网页缩略图绝对URI
如何在谷歌的搜索结果中获取页面URL的绝对URI或base64编码列表? 目标: 遍历URL数组:Javascript 谷歌网页缩略图绝对URI,javascript,jquery,json,google-chrome,Javascript,Jquery,Json,Google Chrome,如何在谷歌的搜索结果中获取页面URL的绝对URI或base64编码列表? 目标: 遍历URL数组: pages["pinelakedesign.com"]; pages["pinelakedesign.com/about"]; pages["pinelakedesign.com/contact"]; 输出: 谷歌缩略图1 谷歌缩略图2 谷歌缩略图 谷歌正在使用base64字符串编码的缩略图JPG图像的视觉搜索结果。2011年,此缩略图服务与以前的系统有所不同,该系统具有放大镜和绝对URI结
pages["pinelakedesign.com"];
pages["pinelakedesign.com/about"];
pages["pinelakedesign.com/contact"];
输出:
- 谷歌缩略图1
- 谷歌缩略图2
- 谷歌缩略图
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/"}
)
google.nyc.c.j_pVK1Tu_gAbODsAKH0ZTuAw_3787232970_3({“s”:“b”,“b”:1,“质量”:100,“碎片”:[{“高度”:[300131],“imgs”:[“数据:图像/jpeg;base64,/9j/4AAQSkZ…”这是长base64编码…pa5r61f/9k=“”,“tbts”:[{“框”:{“h”:15,“l”:0,“t”:39,“w”:224 txt]:“Pine Lake专注于小型企业网站的设计、重新设计和托管。我们开发了Sungem内容管理系统,该系统允许我们的……”,“txtBox”:{“h”:57,“l”:0,“t”:58,“w”:400}}],“url”:http://www.pinelakedesign.com/"}
)
2011年11月8日更新 我正在寻找一些解决方案,如查看谷歌缩略图 2012年2月9日更新 使用Phantom JS看起来是实现服务器端远程快照的一个好方法,但它无助于确定如何获取Google的图像 2012年3月26日更新
我相信谷歌的搜索蜘蛛是桌面Chrome的无头版本,分辨率为1024px。Chrome蜘蛛允许蜘蛛执行Javascript、使用@font-face、CSS3选择器、查看Flash(甚至等待预加载达到100%)并在加载所有资产和DOM操作后对呈现的页面进行准确的快照。请谷歌的任何人加入进来确认或否认任何内容吗?基本上,他们首先对查询url发出一个curl请求,然后得到缺少的“a”“html响应中的参数。然后他们使用它来构造正确的url,并对GoogleAPI进行api调用以获取图像。之后还有更复杂的工作,如将合成图像与ImageMagick合并以获得完整预览,但这是一个加号…实际上,您可以完全删除expi参数。也可以删除b和j参数。看起来a参数是一个校验和,因为它是唯一一个在不同请求之间变化的参数。不知道如何轻松地确定a的值。只是注意到j是JSONP回调包装器@托德,当我试着去除j,b或expi时,我在Chrome上得到了一个404。您是在地址栏还是在javascript中发送请求?在地址栏中。。也许饼干也起到了作用?不幸的是,没有人及时提交答案,因此Stack Overflow获得了50分的奖金(我没有拿回,也没有人被允许赢得奖金)。我希望我能申领,但我认为我没有足够的帖子来诚实地接受它(你有一个很好的解决方案,它证明了这是可能的!这并不能完全回答这个问题,但因为Thumbtool有一个工作原型,他正在添加一个API,我将接受它。如果其他人发布了一种用Javascript直接获取Google文件的方法,我将很高兴将其更改为正确的答案。我同样对它印象深刻。)谷歌的俄文翻译就像我使用开源解决方案一样。ThanksI应该补充说,这已经不可能了,因为谷歌已经禁用了即时预览功能。