Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: SCM en 10 Febrero 2013, 05:50 am



Título: Recoger datos de otra web
Publicado por: SCM en 10 Febrero 2013, 05:50 am
Hola a todos. Estoy intentando hacer una especie de función que me coja ciertas cosas de una página y me las muestre. Veamos un ejemplo.

Coloco la página de google y que haga una búsqueda. Que mi función recoja solamente los títulos de la búsqueda y los ponga en una lista. O igual, pero buscando en google imágenes y que coloque solamente las imágenes, sin ninguna info más, dentro de mi web, que no tenga que dirigir a google para ver las img ni que salga más información que las imágenes.

Tengo una ligera idea de como se haría esto pero no sé. Tampcoo lo busco hecho, solamente que me den una idea de con que se haría. cURL? O simplemente abriendo la web como un archivo y marcándole con un bucle que rastree linea por linea ciertos indicios de un título o una imágen y que lo escriba en mi web?
Es que necesito una ligera idea o pista para empezar a leer sobre ese tema y aprender a hacerlo por mi cuenta.

Y una segunda cosa que va ligada a esta. Imaginen que quiero hacer lo mismo, sacar información de una web, pero para acceder a esta web necesito un usuario y una contraseña. Es posible hacer que el script mande el usuario y la contraseña, algo así como enviando las cookies, y acceda a esa info para mostrarmela? Yo he logrado conectarme con cURL a facebook, pero al momento se me deslogueaba y no sabía muy bien como hacerlo funcionar.

Para que os hagáis una idea el buscador de google hace eso.. tiene bots en los foros más comunes para conectarlos al foro y ver temas en los que no tendrías permisos quizá, y google coge un trozo que tú has marcado diciéndole x palabra.. pues me gustaría saber como marcando una pauta coja ciertas cosas como las imágenes.. y también que permita conectarse a una web o foro para poder realizar la búsqueda dentro, teniendo un usuario y contraseña ya allí.

Gracias, un saludo!


Título: Re: Recoger datos de otra web
Publicado por: alister en 10 Febrero 2013, 06:07 am
con curl y con la api xml de google.
presuntamente la segunda te resultará menos conocida, pero es bien simple de utilizar.

https://developers.google.com/web-search/docs/
https://developers.google.com/custom-search/v1/overview

lo segundo tiene dos maneras de verse.
hazte pasar por googlebot alterando tu user-agent y algunos foros te dejaran ver contenido sin registarte
o bien utiliza curl con cookies validas para que se autentique en la web en cuestion.

de todos modos, sitios como facebook pueden ser complicados debido a la gran cantidad de javascript y peticiones asincronas que utilizan. en el caso particular de facebook, es mejor usar su api para recuperar contenido de dentro.


Título: Re: Recoger datos de otra web
Publicado por: SCM en 12 Febrero 2013, 22:53 pm
Muchas gracias alist3r, una respuesta muy completa que seguro que me ayudará bastante. Me voy a poner a leer sobre la api xml, que la verdad es que no me resultaba conocida, como bien has dicho.

Un abrazo !