PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 09-08-2014 02:28:20

yule
Membre
Inscription : 24-09-2009
Messages : 35

Travailler avec la version fr d'une url avec cURL

Bonjour,

Je souhaite extraire les métas et le plaintext (texte html) d'une url, je coince en recherchant la version fr de l'url

Initialement j'ai

        $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
  curl_setopt($ch, CURLOPT_TIMEOUT, 15);
  curl_exec($ch);
 
  // ensuite , je fais divers manip pour récupérer la bonne url (s'il y a des redirections htaccess ou meta refresh)

// +-------- Y a t'il une redirection -------------+

  $lastUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);

        if ($lastUrl != ""){
  $url = "$lastUrl";
  }
  else{
  $url ="$url";
  }

// +-------- Je vérifie s'il n'y a pas une redirection par un méta refresh... -------------+
 
  preg_match("'<meta[\s]*http-equiv[^>]*?content[\s]*=[\s]*[\"\']?\d+;[\s]*URL[\s]*=[\s]*[\"\']?([^\"\']*?)[\"\']?>'i", file_get_contents($url), $matches);
  $refresh = $matches[1];

//etc..........et j'ai  une nouvelle $url nettoyée de tout


   
    j'arrive donc à une nouvelle url, de cette nouvelle url j'aimerais donc extraire les informations que j'ai besoin, mais avant, je dois être certain
    d'être sur la version fr du site (par exemple http://instagram.com/)
   
    Avec cette adresse/url, je récupère les métas et le texte html, malheureusement en anglais et je souhaiterais les récupérer mais en français
   
    j'essaye de faire ceci
   
   


$headers = array(
    'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
    'Accept-Language: fr-FR,fr;q=0.5',
  );
 
  $url = curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
 

   
   
    Et comme ce bout de code doit être faux, ma varaible $url devient vide
   
    Avez-vous une idée sur mon/mes erreur(s) ?
   
    D'avance merci
    Yule

Hors ligne

#2 09-08-2014 15:19:13

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Travailler avec la version fr d'une url avec cURL

Bonjour,

Il vous faut parser mieux que cela votre header en tenant compte de la DTD de votre document. Un peu de lecture :
W3C : Métadonnées

Bon week-end


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums