2011-10-27 20 views
14

¿Cómo puedo obtener una lista de las codificaciones URI absolutas o base64 para URL de página en los resultados de búsqueda de Google?Miniaturas de la página web de Google URI absoluto

Objetivo:

iterar a través de array URL:

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

de salida:

  • Google miniatura 1
  • Google miniatura 2
  • Google miniatura N

Google está utilizando la codificación de cadena base64 de imágenes en miniatura de JPG para sus resultados de búsqueda visual. En 2011 este servicio miniatura es distinto del sistema anterior con la lupa y la construcción absoluta URI se describe en esta pregunta: https://stackoverflow.com/questions/6881319/google-web-thumbnails

sólo quiero baldosas de una lista de las páginas de un sitio web como imágenes en miniatura de Google por lo que conozco qué páginas han sido indexadas y vistas en miniatura de un vistazo y cómo son esos pulgares.

Google search results thumbnail preview

Editar Nov 5, 2011

que identifica que una llamada a este URL vuelve JSONP con la codificación base64, Google resultado de la búsqueda del título, descripción y 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 

El parámetro query = es lo que se buscó en Google. d = es el destino del enlace, y posiblemente la fuente de la miniatura. s = 400: 585 es la altura y el ancho. No estoy seguro de qué r = 4 yf = 3 hacen. La modificación de cualquiera de estas variables da como resultado un error 404. Mi corazonada es que el expi = es un algoritmo de caducidad de suma de verificación basado en los diferentes valores de los parámetros, pero no sé.

devuelto 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/"} 
) 

Actualización Nov 8, 2011

Busco a alguna solución como emedly's Preview para la visualización de miniaturas de Google.

y actualización 9 de Feb, 2012

Usando Phantom JS parece una buena manera de lograr instantáneas remotas del lado del servidor, pero no ayuda a identificar cómo llegar a imágenes de Google.

actualización 26 de Mar, 2012

creo búsqueda de araña de Google es una versión sin cabeza de escritorio de Chrome corriendo 1024px de ancho resolución.Una araña Chrome permitiría a la araña ejecutar Javascript, usar @ font-face, selectores CSS3, ver Flash (incluso esperando que el preloader llegue al 100%) y tomar instantáneas precisas de las páginas renderizadas después de cargar todos los activos y la manipulación de DOM. Alguien de Google, por favor, pesa para confirmar o negar algo?

+1

En realidad, puede eliminar el parámetro expi por completo. También puede eliminar los parámetros b y j también. Parece que el parámetro a es una suma de comprobación, ya que es lo único que parece variar de una solicitud a la siguiente. No se conoce una manera de determinar fácilmente el valor de un pensamiento. – Todd

+0

acaba de notar que j es la envoltura de devolución de llamada JSONP. @Todd, cuando intenté eliminar j, b o expi obtuve un 404 en Chrome. ¿Estás enviando la solicitud en la barra de direcciones o javascript? –

+0

En la barra de direcciones ... ¿quizás las cookies también juegan un papel? – Todd

Respuesta

8

Básicamente, primero hacen una solicitud curl para la url de consulta y luego obtienen el parámetro "a" que falta de la respuesta html. Luego lo usan para construir la URL correcta y hacer que la API llame a la API de google para obtener la imagen. Después de eso hay un trabajo más complejo como combinar las imágenes resultantes con ImageMagick para obtener una vista previa completa, pero eso es un plus ...

+0

tienes una buena solución y prueba Esto no responde exactamente a la pregunta, pero dado que Thumbtool tiene un prototipo en funcionamiento y está agregando una API, lo aceptaré. Si alguien publica una forma de obtener directamente los archivos de Google con Javascript, estaré me alegro de cambiar eso a la respuesta correcta. –

+0

Estaba igualmente impresionado con la traducción de Google de Google como lo estaba con la solución de código abierto. Gracias –

+0

Debo añadir que esto ya no es posible, ya que Google ha desactivado la función de vista previa instantánea. – Mastergalen

Cuestiones relacionadas