Objetivo: descargar todas las imágenes de un tablón de pinterest.
Problema: el tablón está paginado y sólo puedo acceder a las imágenes más recientes.
Métodos: tanto la API como accediendo con un bot. Ambos métodos presentan el mismo problema.
En el caso de la API: no da más de 50 resultados. No parece haber ninguna forma para indicar un desplazamiento u "offset" y recuperar los siguientes 50.
En el caso de acceder con un bot: hace falta hacer una petición javascript, con un parámetro "bookmarks" que está codificado de una forma muy extraña y misteriosa. No encuentro la forma de generarlo a partir de la información de la página.
¿Alguien tiene alguna idea de qué hacer?
El lenguaje de programación me da igual, no es relevante para la pregunta, la cuestión es poder hacerlo en cualquiera.
Gracias a todos por las respuestas, perdón si esto debería ir en otro tablón y gracias a los moderadores por moverlo en caso de que así sea.
Hola, has probado HTTrack? No tengo ni idea de si tiene que ver con lo que buscas pero lo mismo te sirve ;D ;D
O quiza te sirvan herramientas tipo Spider que se usan para SEO a la hora de obtener los links de las ímagenes luego ya sería descargarlas. Probablemente no te este aportando demasiado pero bue, ahi queda.
En lugar de HTTrack usaría wget, y en cuanto a herramientas "tipo Spider", ya tengo mi propio cliente de http para todo esto.
El problema es AJAX.
Es necesario bajar al final del tablón para que se cargue la siguiente sección de la página, para indicar el avance se usa un parámetro "bookmarks", que no sé cómo rellenar.
Lo mismo que se envia por AJAX, se puede enviar con wget, el tema es que la respuesta no sea JSON
A ver, estoy usando httpclient, pero podría usar cualquier otra cosa.
Que la respuesta sea JSON me da igual, porque uso la librería de JSON de Play.
El problema es poner un parámetro en la petición GET, que no sé de dónde sale.
Sabes la función js que se ejecuta al hacer scroll?
No, y tampoco sé cómo mirarlo con las herramientas de desarrollador de Chrome ni Firefox. ¿Sabes si hay alguna forma de extraer esa información?
Cita de: Stoya en 11 Octubre 2015, 16:30 PM
No, y tampoco sé cómo mirarlo con las herramientas de desarrollador de Chrome ni Firefox. ¿Sabes si hay alguna forma de extraer esa información?
https://stackoverflow.com/questions/10213703/how-do-i-view-events-fired-on-an-element-in-chrome-web-developer
https://stackoverflow.com/questions/9951045/pinterest-api-documentation
Me estoy fijando también en el network para ver lo que envía y acepta.
Si consigo algo lo digo.
Un saludo
Creo que es ésta:
function(){P.pubSub.instance.publish(P.CONST.PUBSUB_CHANNEL_SITE,P.CONST.PUBSUB_TOPIC_WINDOW_SCROLL_CHANGE),P.util.windowIsInFocus=!0}
Tengo cierta idea de javascript, pero la verdad es que esta sintaxis no la conozco, parece que separa sentencias con una coma en lugar de punto y coma.