La forma más fácil de llegar a donde quieres es mediante la utilización cURL. La función básica de cURL es que le permite configurar una solicitud HTTP configurada como la necesita y recibir la respuesta. Esto se puede hacer en varios grados de detalle, según sus necesidades.
Lo que quiere hacer es básicamente hacer una solicitud HTTP para obtener la página que desea y eliminar los datos del código HTML de la respuesta. Esto puede ser muy fácil de hacer, pero en su caso deberá superar algunos obstáculos.
Supongo que al decir "tengo que iniciar sesión" quiere decir que hay un formulario de inicio de sesión que debe pasar antes de poder raspar nada. cURL puede falsificar un inicio de sesión con un poco de ayuda de su parte.
En primer lugar, deberá "enviar" el formulario de inicio de sesión con cURL tal como lo haría a mano. Para asegurarte de que lo hiciste bien, necesitarás ver las solicitudes HTTP que hace tu navegador al enviar el formulario a mano y construir solicitudes idénticas con cURL. Para ver las solicitudes HTTP en detalle, puede usar Firebug, las herramientas para desarrolladores de Chrome o el absolutamente fantásticoFiddler debugging proxy.
Lo más probable es que después de enviar un formulario de inicio de sesión válido, el servidor le enviará una cookie que se utilizará para autenticarlo en solicitudes posteriores. Esta cookie formará parte de los encabezados de la respuesta HTTP del servidor (encabezado Set-Cookie
). Tendrá que recordar el valor de esa cookie, e incluir un encabezado Cookie
en raspaduras posteriores en el servidor; en esencia, está haciendo exactamente lo que haría su navegador si hubiera iniciado sesión ** ¹ **.
Y, por último, es posible que deba realizar más de un viaje de ida y vuelta para encontrar su destino. Tal vez la URL que necesita para raspar no se conoce de antemano, y necesita raspar una página de "lista" para encontrar alguna parte variable de la URL que desea raspar. Esto se puede resolver simplemente abordando el problema por pasos: primero raspe la página de "lista", descubra lo que necesita y luego raspe la página de "detalles" que realmente desea.
No proporciono ningún código, ya que hay muchos tutoriales de CURL en la web, pero creo que saber cuál es el plan hará que su trabajo sea mucho más fácil.
¹ Otro (más rápido, pero en bruto) camino a seguir en torno a hacer esto es simplemente entrando en ti mismo, al ver el valor de la cookie que tienes, y acaba de pegar que en la solicitud de su roce. Lo bueno es que ya no es necesario falsificar un inicio de sesión con cURL; La desventaja es que antes de que cada vez que se use su herramienta, alguien debe iniciar sesión manualmente y proporcionarle las credenciales a su herramienta.
Tiene que proporcionar más detalles sobre cómo iniciar sesión, como la autenticación de acceso básico, o? – ajreal