Facebook
Télécharger
Noter:

Ajouté le 2022-11-25
Visionné 10175 fois
4.5/5 (2)

Scraper du contenu en PHP pour récupérer les URL

Description

Pour récupérer ou scraper/scrapper (scraping, en Anglais) les liens d'une page internet avec PHP, le code prend récupère les URL et les sauvegarde dans un fichier .txt

Télécharger le script
(Téléchargé 2 fois)


Deux versions pour crawler, scraper ou sniffer une page



/////////////////
//CONFIGURATION :
/////////////////

//fichier dans lequel on viendra mettre nos liens scrappés
$fichier_de_destination = "liens-url.txt";

//mettez ici l'URL à scraper
$url = 'https://www.c2script.com/scripts/scraper-une-page-web-en-php-s19.html';


///////////
// SCRIPT :
///////////

//on va lire la page à copier, on initialise cURL
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

//pour retourner le contenu
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//au cas où l'URL est en https
if(substr($url, 0, 5)=='https')
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

//on simule un faux USER_AGENT pour faire croire qu'on est humain (sinon certains sites peuvent bloquer l'accès en mettant une erreur 403 Forbidden)
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201');

//on vérifie s'il ya pas d'erreur et on récupère le résultat
if(!$contenu_de_la_page = curl_exec($ch))
exit("Erreur cURL : " . curl_error($ch));

//récupère tous les liens de la page avec cette regex
preg_match_all("#(https?://[\w./?&%:;=-]+)#is", $contenu_de_la_page, $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/>";


//en fin, on ferme 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/>";



Besoin de travaux pour votre site ?

Je suis disponible, contactez-moi !

Commentaires

Ajouter un commentaire

Commenter
Pseudo/Nom
Email
Message
Captcha

Captcha temporairement HS, tapez 2 svp
memo2
Commenter
Pas encore de commentaire, soyez le premier !

Retour à la liste des scripts