Récupération d'une page web avec CURL
Résolu
Xeis
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai fait une petit programme pour récupérérer tous le contenue d'une page web.
Je l'ai tester sur plusieurs site, avec certain cela fonctionne très bien mais avec d'autre c'est moin évident
exemple avec cette url :
http://www.has-sante.fr/...
C'est une adresse avec plein de résultat, malheuresement quand je lance mon fichier php avec CURL je me retrouve avec 0 résultat. Avez-vous une idée d'ou proviens le problème? Est-il simplement impossible de récupérer les résultats ici ? Car gérer en JS ou autre ?
Cordialement,
J'ai fait une petit programme pour récupérérer tous le contenue d'une page web.
Je l'ai tester sur plusieurs site, avec certain cela fonctionne très bien mais avec d'autre c'est moin évident
exemple avec cette url :
http://www.has-sante.fr/...
C'est une adresse avec plein de résultat, malheuresement quand je lance mon fichier php avec CURL je me retrouve avec 0 résultat. Avez-vous une idée d'ou proviens le problème? Est-il simplement impossible de récupérer les résultats ici ? Car gérer en JS ou autre ?
Cordialement,
<?php
$ch = curl_init();
$timeout = 0; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, "http://www.has-sante.fr/...");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$lines = array();
$lines = explode("\n", $file_contents);
// display file line by line
foreach($lines as $line_num => $line)
{
if( htmlspecialchars($line) != "")
{
//echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n";
$line = str_replace(" ","", $line);
file_put_contents("test.txt", $line."\n",FILE_APPEND);
}
}
?>
A voir également:
- Récupération d'une page web avec CURL
- Supprimer une page word - Guide
- Web office - Guide
- Comment traduire une page web - Guide
- Capturer une page web complète - Guide
- Créer une page web - Guide
3 réponses
'lut, j'ai lancé le script sur la page d'accueil de has-sante.fr et j'ai eu ça:
Line # 0 : <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">Par "0 résultat", je ne sais pas ce que tu cherches et ce que tu appelles un "résultat", mais si tu te retrouves confronté au même résultat que moi, ça veut dire qu'il va falloir que tu implémentes la gestion des redirections HTTP avec l'en-tête
Line # 1 : <html><head>
Line # 2 : <title>302 Found</title>
Line # 3 : </head><body>
Line # 4 : <h1>Found</h1>
Line # 5 : <p>The document has moved <a href="http://www.has-sante.fr/">here</a>.</p>
Line # 6 : </body></html>
Location:qui t'es renvoyé par le site, que tu peux obtenir avec
curl_setopt($ch, CURLOPT_HEADER, true);et
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($file_contents, 0, $header_size); $body = substr($file_contents, $header_size);
6,326 résultats pour votre recherche en texte intégral.
Et dans mon script il me renvoie :
0 résultat pour votre recherche en texte intégral.
Alors que l'url spécifié est éxactement là même.
Merci,