¿Es posible extraer imágenes y videos de sitios web usando PHP?

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[^"']+)[^>]*>/

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.

More Interesting

Recientemente comencé un sitio web. ¿Cómo obtengo tráfico a través de Quora, Google+ y Twitter?

¿Qué sitio proporciona API para el precio de la gasolina para el sitio web?

¿Puedo publicar mis poemas con mi propio sitio web?

Cómo detectar qué tema está usando un sitio web de WordPress

¿Existe una herramienta de seguimiento de errores basada en la web que pueda usar para permitir a los usuarios de mis errores de archivos de aplicaciones web?

Al actualizar las URL rotas en una base de datos en un sitio web dinámico, he logrado aislar todas las URL rotas. Tengo listas de enlaces rotos [error 404, etc.] y una lista de redireccionamientos. Para las redirecciones, donde ya tengo una URL antigua y una nueva, ¿hay alguna forma de actualizar automáticamente las URL?

¿Puedo crear un sitio web para recolectar donaciones en India?

¿Cómo haría para crear un sitio web que albergue miles de horas de conferencias de video y audio que serían un portal privado? (diseño de tipo hulu.com)

¿Qué tipo de sitio web debo construir?

¿Cuáles son los sitios web que te encanta visitar cuando estás en línea? ¿Tienes una lista?

¿Qué pueden hacer los propietarios de sitios web sobre la desfiguración de los hackers internacionales?

Si uso los servicios web de Amazon para mi sitio web, ¿puedo pasar a mi propio servidor eventualmente? ¿Puedo llevar todo el contenido de los usuarios conmigo?

¿Cuánto cuesta construir un sitio web como mashable.com?

Cómo configurar un blog personal que sobrevivirá después de mi muerte

Cómo raspar desde sitios web que siguen cambiando, es decir, si no tiene una estructura definida