Si, absolutamente; sin embargo, habrá algunos que no podrás. Esto es lo que se conoce como ‘raspado’. En esencia, ‘obtienes’ el sitio web usando algo como curl, file_get_contents o fopen. Entonces tienes una multitud de opciones:
Opción 1: Pase la fuente del sitio web a través de una expresión regular.
Una expresión regular muy, muy básica para capturar imágenes sería algo como esto: /]*>/
o /<img.*?src=["'](?P[^"']+)[^>]*>/
- ¿Es posible crear un sitio web en una hora?
- ¿Cuáles son los aspectos más utilitarios de Pinterest?
- ¿Es posible usar Keynote para diseñar un sitio? ¿Hay alguna herramienta que convierta Keynote a CSS?
- ¿Qué pasará con otros sitios que hacen lo que WikiLeaks ha hecho?
- ¿Crear múltiples subdominios en un sitio web principal y clasificar el contenido me ayudará a mejorar la velocidad de carga de la página?
Ambos coinciden con lo siguiente: )>
Tenga en cuenta que esto no capturará todas las instancias en todos los sitios web y es solo un ejemplo. Las imágenes cargadas por Javascript, los URI de datos, las clases CSS y las citas de encapsulación que faltan alrededor de la URL no se capturarán.
Sugeriría leer sobre expresiones regulares, ya que pueden volverse increíblemente complejas.
Opción 2 (más confiable): Usar DOMDocument (DOMDocument – Manual)
Obtendrá la fuente del sitio web utilizando una de las funciones mencionadas anteriormente y luego, utilizando DOMDocument, ejecute algo como:
$ DOMDocument = nuevo DOMDocument;
$ DOMDocument-> loadHTML ($ websiteSource);
$ images = $ DOMDocument-> getElementsByTagName (‘img’);
$ imagesArray = [];
foreach ($ imágenes como $ imagen) {
$ imagesArray [] = $ image-> getAttribute (‘src’);
}
// $ imagesArray ahora debería tener la URL de origen para cada imagen en la página
Con cualquiera de las opciones, una vez que tenga la URL de las imágenes, puede usar PHP para obtener el contenido y guardarlo en su servidor.
Hay un millón de formas de desollar a este gato tanto para imágenes como para videos.