Código PHP para extrair as imagens de uma URL (website)

Como extrair as de um site utilizando . Monte uma lista com as URL das imagens ou salve-as em um diretório em seu servidor.

Código PHP para extrair as imagens de uma URL (website)

Primeira parte

Este código é parte principal de nosso script, nele iremos acessar a URL, baixar todo o código e processa-lo, para localizar as imagens.

$url = "http://siteexemplo.com.br";

$html = file_get_contents( $url );

$dom = new domDocument;
@$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');

$output = array();

foreach ($images as $image) {
	 $output[] = $image->getAttribute('src');
}

echo "<pre>";
print_r($output);
echo "</pre>";

Com a função file_get_contents pegamos todo contudo da página.

Após isso utilizando o domDocument, carregamos o HTML “baixado” com a função loadHTML(), uma fez carregado com sucesso poderemos utilizar as funções disponíveis na classe para trabalhar com HTML.

Utilizando getElementsByTagName procuramos por ocorrências da Tag “img”, que é o nosso objetivo.

Salvando as imagens

Complemente o código acima com este para salvar as imagens em um diretório no seu servidor.

$dir = "temp";

foreach( $output as $url ){
	
	$ch = curl_init($url);
	
	$url = explode("/",$url);
	
	$name = $url[count($url) - 1];
			
	$fp = fopen($dir  . "/" . $name, 'wb');

	curl_setopt($ch, CURLOPT_FILE, $fp);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_exec($ch);
	curl_close($ch);
	fclose($fp);	

}

Código Completo

Para extrair as imagens de um site.

$url = "http://rogertakemiya.com.br";

$html = file_get_contents( $url );

$dom = new domDocument;
@$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');

$output = array();

foreach ($images as $image) {
	 $output[] = $image->getAttribute('src');
}


$dir = "temp";

foreach( $output as $url ){
	
	$ch = curl_init($url);
	
	$url = explode("/",$url);
	
	$name = $url[count($url) - 1];
			
	$fp = fopen($dir  . "/" . $name, 'wb');

	curl_setopt($ch, CURLOPT_FILE, $fp);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_exec($ch);
	curl_close($ch);
	fclose($fp);	

}

 

6 comentários sobre “Código PHP para extrair as imagens de uma URL (website)

    1. Oi Anderson, banca, esse script é muito útil, já tive que extrair imagens de vários sites e automatizando dessa forma fica bem mais prático, :)

Dúvidas? Faça um comentário logo abaixo ou envie uma mensagem clicando aqui.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *