Para casos simples de descarga del contenido de una página, use curl o wget . Ambas son herramientas de línea de comandos diseñadas para descargar archivos a través de HTTP y tienen muchas opciones. En su caso, es probable que necesite hacer que estas herramientas se parezcan más a un navegador; La respuesta de lutzky y la respuesta de penguin359 mencionan algunas opciones de curl y wget que son útiles a ese respecto.
A veces, cuando necesita iniciar sesión , es mucho más fácil iniciar sesión manualmente en un navegador web, luego exportar las cookies del navegador web ( pueden ayudar extensiones como allcookies o Export Cookies for Firefox).
Si necesita analizar el contenido de algunas páginas o publicar formularios , es posible que necesite herramientas más sofisticadas que curl y wget. Algunas buenas herramientas son Perl con LWP
(libwww) y HTML::TreeBuilder
(HTML-Tree) o Python con bibliotecas estándar (especialmente httplib
yhtmllib
).
Para interacciones más complejas con un sitio web, la referencia es Perl's WWW :: Mechanize . Esta biblioteca de Perl define funciones de alto nivel para interactuar con un sitio web como lo hace un navegador web, incluyendo POSTing, formularios, cookies, pero no Javascript. Si Perl no es su taza de té, esta biblioteca tiene imitaciones con capacidades similares en otros idiomas, como Python Mechanize y Ruby Mechanize .
Finalmente, cuando necesita Javascript , el enfoque habitual es utilizar un navegador web impulsado por un marco de automatización del navegador. Selenium y Watir son opciones populares; ver también ¿Hay alguna buena herramienta además de SeleniumRC que pueda obtener páginas web, incluido contenido post-pintado por JavaScript?