如何獲取Google搜索結果中頁面網址的絕對URI或base64編碼列表?Google網頁縮略圖絕對URI
目標:
通過URL陣列迭代:
pages["pinelakedesign.com"];
pages["pinelakedesign.com/about"];
pages["pinelakedesign.com/contact"];
輸出:
- 谷歌縮略圖1
- 谷歌縮略圖2
- 谷歌縮略圖Ñ
Google使用縮略圖JPG圖像的base64字符串編碼作爲其視覺搜索結果。 2011年該縮略服務從以前的系統改變在這一問題中描述的放大鏡和絕對URI建設: https://stackoverflow.com/questions/6881319/google-web-thumbnails
我只想瓦出一個網站,如谷歌縮略圖,所以我知道該頁面的列表哪些頁面一目瞭然,縮略圖以及這些大拇指都是什麼樣子。
編輯2011年11月5日
我確定了這個URL調用返回JSONP用base64編碼,谷歌搜索結果的標題,描述和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觀看谷歌縮略圖一些解決方案。
更新2012年2月9日
使用虛擬JS看起來像一個很好的方式來實現服務器端的遠程快照,但它並不能幫助確定如何在谷歌的圖像得到。
更新2012年3月26日
我相信谷歌的搜索蜘蛛的桌面版Chrome的運行1,024像素寬分辨率無頭版本。Chrome spider可以讓蜘蛛執行Javascript,使用@ font-face,CSS3選擇器,查看Flash(甚至等待預加載器達到100%),並在加載完所有資源和DOM操作後獲取準確的渲染頁面快照。請Google的任何人請權衡以確認或否認任何內容?
實際上,您可以完全刪除expi參數。您也可以刪除b和j參數。它看起來像一個參數是一個校驗和,因爲它是唯一不同的請求到下一個。不知道一種方法來輕鬆確定一個值。 – Todd
剛剛注意到j是JSONP回調包裝器。 @Todd,當我嘗試刪除j,b或expi時,我在Chrome中獲得了404。您是否在地址欄或javascript中發送請求? –
在地址欄中..也許Cookie也起作用? – Todd