Récupération de contenu sur un site externe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupération de contenu sur un site externe

Re: Récupération de contenu sur un site externe

par Sesquitertia » 22 mars 2011, 19:13

Le plus sur, après avoir mis les identifiants uniques c'est de commenter les balises de fermetures:

Code : Tout sélectionner

<div id="text1">Mon texte 1</div><!-- fin #text1 --> <div id="text2">Mon texte 2</div><!-- fin #text2 --> <div id="text3">Mon texte 3</div><!-- fin #text3 -->
Et pour la fonction:

Code : Tout sélectionner

$curl = curl_init("http://www.exemple.com/page.html"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_HEADER, false); $page = curl_exec($curl); $error = curl_errno($curl); curl_close($curl); preg_match('`<div id="text2">(.*?)</div><!-- fin #text2 -->`Uis', $page, $match); echo $match[0];

Re: Récupération de contenu sur un site externe

par AB » 17 mars 2011, 18:58

Ex :
J'ai ces balises :

Code : Tout sélectionner

<div id="text">Mon texte 1</div> <div id="text">Mon texte 2</div> <div id="text">Mon texte 3</div>
Tu es certain ? parce que normalement un id se doit d'être unique. Si ton html est non valide la récupération sera moins facile.

Re: Récupération de contenu sur un site externe

par stealth35 » 17 mars 2011, 11:49

[url=http://www.preg_match_all]preg_match_all[/url]

@+
nop DOMDocument :wink:

Re: Récupération de contenu sur un site externe

par moogli » 15 mars 2011, 19:27

[url=http://www.preg_match_all]preg_match_all[/url]

@+

Récupération de contenu sur un site externe

par vincef62 » 15 mars 2011, 18:08

Bonjour à tous,

J'essaie de récupérer du contenu qui se trouve sur un site externe.

J'utilise une fonction curl pour récupérer le contenu entre 2 balises précises.

Voici mon code :

Code : Tout sélectionner

$curl = curl_init("http://www.exemple.com/page.html"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_HEADER, false); $page = curl_exec($curl); $error = curl_errno($curl); curl_close($curl); preg_match('`<div id="text">(.*?)</div>`Uis', $page, $match); echo $match[0];
Le problème est que cette fonction me renvoie tout ce qui se trouve entre les balises dès la première qu'il trouve.
Or, comment faire pour récupérer la deuxième balise qu'il rencontrerait ?

Ex :
J'ai ces balises :

Code : Tout sélectionner

<div id="text">Mon texte 1</div> <div id="text">Mon texte 2</div> <div id="text">Mon texte 3</div>
J'aimerai pouvoir récupérer "Mon texte 2".

Comment faire ?

Merci !