Como extrair as imagens de um site utilizando PHP. Monte uma lista com as URL das imagens ou salve-as em um diretório em seu servidor.
Primeira parte
Este código é parte principal de nosso script, nele iremos acessar a URL, baixar todo o código HTML 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 ""; print_r($output); echo "";
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)”