Абсолютные URI веб-страниц Google - PullRequest
14 голосов
/ 28 октября 2011

Как получить список абсолютных кодировок URI или base64 для URL-адресов страниц в результатах поиска Google?

Цель:

Итерация по массиву URL:

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

Выход:

  • Google thumbnail 1
  • Google thumbnail 2
  • Google thumbnail N

Google использует строковое кодирование base64 миниатюрных изображений JPG для своих результатов визуального поиска. В 2011 году этот сервис миниатюр изменился по сравнению с предыдущей системой с лупой и конструкцией абсолютного URI, описанной в этом вопросе: https://stackoverflow.com/questions/6881319/google-web-thumbnails

Я просто хочу выложить список страниц на веб-сайте в виде эскизов Google, чтобы я знал, какие страницы были проиндексированы и кратко помечены и как выглядят эти большие пальцы.

Google search results thumbnail preview

Редактировать 5 ноября 2011 г.

Я обнаружил, что при вызове по этому 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/"}
)

Обновление 8 ноября 2011 г.

Я ищу какое-то решение, например emedly's Preview для просмотра эскизов Google.

Обновление 9 февраля 2012 г.

Использование Phantom JS выглядит как хороший способ создания удаленных снимков на стороне сервера, но не помогает определить, как получить изображения Google.

Обновление 26 марта 2012 г.

Я считаю, что поисковый паук Google - это безголовая версия настольного Chrome с разрешением 1024 пикселей в ширину. Паук Chrome позволил бы пауку выполнять Javascript, использовать @ font-face, селекторы CSS3, просматривать Flash (даже в ожидании, пока preloader достигнет 100%) и делать точные снимки отображаемых страниц после загрузки всех ресурсов и манипулирования DOM. Кто-нибудь из Google, пожалуйста, взвешивает, чтобы подтвердить или опровергнуть что-нибудь?

1 Ответ

8 голосов
/ 04 апреля 2012

В основном, они сначала делают запрос curl для URL запроса, а затем получают отсутствующий параметр «a» из ответа html.Затем они используют его для создания правильного URL и вызова API API Google API для получения изображения.После этого есть более сложная работа, такая как объединение результирующих изображений с ImageMagick для получения полного предварительного просмотра, но это плюс ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...