/////////////////
//CONFIGURATION :
/////////////////
// Nom du fichier dans lequel nous stockerons les liens extraits
$fichier_de_destination = "liens-url.txt";
// URL de la page à scraper
$url = 'https://www.c2script.com/scripts/scraper-une-page-web-en-php-s19.html';
///////////
// SCRIPT :
///////////
// Initialisation de cURL pour lire la page à scraper
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// Pour retourner le contenu, on utilise CURLOPT_RETURNTRANSFER : 1
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Gestion des URL en HTTPS
if(substr($url, 0, 5)=='https')
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// Simulation d'un USER_AGENT factice pour éviter le blocage par certains sites (403 Forbidden)
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201');
// Vérification des erreurs et récupération du résultat
if(!$contenu_de_la_page = curl_exec($ch))
exit("Erreur cURL : " . curl_error($ch));
// Extraction de tous les liens de la page en utilisant une expression régulière
preg_match_all("#(https?://[\w./?&%:;=-]+)#is", $contenu_de_la_page, $out);
// Stockage des liens extraits dans une variable
$liens_de_la_page = '';
// Parcours de tous les liens un par un
foreach($out[0] as $lien){
// Ajout du lien avec un saut de ligne pour placer la prochaine URL en dessous
// Remarque: le saut de ligne fonctionne seulement avec les double guillemets et ne fonctionnera pas avec des simple, ex : '\n'
$liens_de_la_page .= "$lien\n";
}
// Enregistrement des liens dans un fichier texte avec le même nom que la page scannée
file_put_contents($fichier_de_destination, $liens_de_la_page);
echo "OK, fichier <a href='$fichier_de_destination'>$fichier_de_destination</a> créé<br/>";
// Fermeture de cURL
curl_close($ch);
/////////////////
//CONFIGURATION :
/////////////////
//la page à scrapper
$page_a_scrapper = "page.html";
//fichier dans lequel on viendra mettre nos liens scrappés
$fichier_de_destination = "liens-page.txt";
///////////
// SCRIPT :
///////////
//récupère le contenu la page à scraper
$fichier = file_get_contents($page_a_scrapper);
//récupère tous les liens de la page avec cette regex
preg_match_all("#(https?://[\w./?&%:;=-]+)#is", $fichier, $out);
//notre retour (les liens de la page qu'on sauvera dans le txt)
$liens_de_la_page = '';
//on explore tous les liens un par un
foreach($out[0] as $lien){
//on retourne le lien en faisant un saut de ligne pour placer la prochaine url en dessous
//remarque: le saut de ligne fonctionne seulement avec les double guillemets et ne fonctionnera pas avec des simple, ex : '\n'
$liens_de_la_page .= "$lien\n";
}
//en fin on colle les liens dans un fichier texte avec le même nom que la page qui vient d'être scannée
file_put_contents($fichier_de_destination, $liens_de_la_page);
echo "OK, fichier <a href='$fichier_de_destination'>$fichier_de_destination</a> créé<br/>";
J'espère que ce script gratuit vous est utile.Pour soutenir mon travail, un simple don ou mettre une note est grandement apprécié.
Vous cherchez à pousser encore plus loin vos idées ou à les concrétiser avec un site internet sur mesure ? Je suis là pour vous aider ! Mon expérience en développement web est à votre disposition.
Que ce soit la création de votre site web pro ou l'apport de fonctionnalités avancées à votre projet, contactez-moi pour en discuter et avoir un devis gratuit personnalisé.
Mon objectif est de vous offrir des solutions sur mesure qui répondent à vos besoins, et votre vision associée à mon expertise donnera vie à votre projet web parfait. Contactez-moi aujourd'hui, je réponds en général en moins d'une heure :
Demander un devis