Avec l'enrichissement du contenu Internet, un grand nombre de ressources d'image de haute qualité ont émergé sur Internet. Dans de nombreux scénarios, nous devons collecter des images en lots à partir de sites Web désignés, tels que des photos de paysage, des œuvres d'art, etc. Cet article vous montrera comment utiliser PHP pour écrire des scripts pour collecter automatiquement des images haute définition à partir de sites Web.
Avant la collecte, la structure du site Web cible doit être analysée en premier. Habituellement, les images sont intégrées dans la page sous forme de balises IMG . En observant le code source de la page Web, nous pouvons trouver le modèle de l'adresse d'image, puis extraire le lien vers l'image cible.
Après avoir clarifié l'idée de collection, nous utilisons la fonction Curl de PHP pour saisir le code source de la page Web, puis assortir le lien de l'image via des expressions régulières, et enfin télécharger et enregistrer l'image dans une boucle.
// installation curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// Obtenir HTML Code
$html = curl_exec($ch);
curl_close($ch);
// Définir les expressions régulières
$pattern = '/<img[^>]+src=["\']?([^"\'>]+)["\']?[^>]*>/is';
// Trouver l'adresse de l'image
preg_match_all($pattern, $html, $matches);
$matches = $matches[1];
// Aller au lourd
$matches = array_unique($matches);
// Définir le chemin de sauvegarde de l'image
$path = "./images/";
if(!file_exists($path)){
mkdir($path);
}
// Télécharger l'image
foreach($matches as $key => $value){
// Obtenir图片名
$imgname = basename($value);
// Ouvrir le fichier
$fp = fopen($path . $imgname, 'w');
// installation curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $value);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
// Télécharger l'image
curl_exec($ch);
curl_close($ch);
// Fermez le fichier
fclose($fp);
}
Grâce à la méthode ci-dessus, vous pouvez obtenir une fonction de collecte d'images Web simple et efficace. Selon les besoins réels, le code peut être ajusté et optimisé. Si vous rencontrez des problèmes tels que l'image ne peut pas être téléchargée pendant le processus de collecte, vous pouvez vérifier et déboguer des facteurs tels que l'environnement du réseau et les autorisations. J'espère que ce tutoriel peut vous aider à maîtriser facilement les compétences de la collection PHP d'images.