Bonjour,
Je m'adresse à vous en ultime espoir, après avoir lu tout ce que je pouvais sur les forums plus ou moins connus, et appliqué toutes les solutions possible. Et malheureusement, ne connaissant personne dans mon entourage pour me filer un coup de main, je compte sur vous
Souhait :
Je souhaite "curler" des URL, afin d'en récupérer le header + le code source, et en extraire des balises (title, metas...).
J'ai trouvé que CURL était la meilleure solution, car il récupère aussi bien le header que le code source en 1 un hit.
Mon code actuel. A pour effet :
-> De bien fonctionner sur la page d'accueil (***é****e)
-> Mais sur la page /test.html (en 404) : le title ressort de la forme ****è*****
J'ai alors essayé un autre code, en lisant les forums. A pour effet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $url = "https://www.xxx.fr/"; //On récupère l'URL header('Content-Type: text/html; charset=utf-8'); //curl de l'URL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_ENCODING ,""); //xpath + header $html = curl_exec($ch); //$html = utf8_decode(curl_exec($ch)); $info = curl_getinfo($ch); $dom = new DOMDocument('1.0', 'UTF-8'); @$dom->loadHTML($html); $xpath = new DOMXPath($dom); $title = trim($xpath->evaluate('string(/html/head/title)')); echo $title; ?>
-> De ne rien me renvoyer sur la page d'accueil ("")
-> Mais sur la page /test.html (en 404) : le title est correct : "*****è*****"
Un grand merci pour votre patience et lecture...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $url = "https://www.xxxxxx.fr/test.html"; //On récupère l'URL header('Content-Type: text/html; charset=utf-8'); //curl de l'URL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_ENCODING ,""); //xpath + header //$html = curl_exec($ch); $html = utf8_decode(curl_exec($ch)); $info = curl_getinfo($ch); $dom = new DOMDocument('1.0', 'UTF-8'); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $title = trim($xpath->evaluate('string(/html/head/title)')); echo $title; ?>
Marie \m/
Partager