Récupérer les données sur un autre site
Wizzzz
-
kilian Messages postés 8854 Statut Modérateur -
kilian Messages postés 8854 Statut Modérateur -
Bonjour,
j'aimerai récupérer les données d'un page web pour les copier directement sur la mienne en php
- ex de page :
<html><body><div class=texte>LE TEXTE A COPIER</di></body></html>
donc comment récuperer ce texte et le mettre sur mon site (ou l'enregistrer dans une table mysql...
Merci d'avance
j'aimerai récupérer les données d'un page web pour les copier directement sur la mienne en php
- ex de page :
<html><body><div class=texte>LE TEXTE A COPIER</di></body></html>
donc comment récuperer ce texte et le mettre sur mon site (ou l'enregistrer dans une table mysql...
Merci d'avance
A voir également:
- Récupérer les données sur un autre site
- Site de telechargement - Accueil - Outils
- Comment recuperer un message supprimé sur whatsapp - Guide
- Site x - Guide
- Site pour partager des photos - Guide
- Quel site remplace coco - Accueil - Réseaux sociaux
10 réponses
Salut,
Tu as la fonction file_get_contents() qui te permet de lire un fichier en entier. Il suffit de le mettre dans une variable et de faire un echo.
Sinon, si tu veux carrément le code source d'une page Php il faut utiliser include ou require. Et il me semble que ça ne marche que si la page est sur ton site mais c'est à vérifier.
Tu as la fonction file_get_contents() qui te permet de lire un fichier en entier. Il suffit de le mettre dans une variable et de faire un echo.
<?
$texte=file_get_contents("ton_url");
echo "<html><body><div class='texte'> $texte </div></body></html>";
?>
Sinon, si tu veux carrément le code source d'une page Php il faut utiliser include ou require. Et il me semble que ça ne marche que si la page est sur ton site mais c'est à vérifier.
Ben ça dépends de la partie du texte, tu veut le séléctionner sur des lignes précises? A partir d'un début précis....?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors si ton texte à insérer commence par "Expert en ptit lu" dans un fichier appelé truc.txt dans le même repertoire que ton fichier php en cours d'execution.
Ca donne:
=> http://fr.php.net/manual/fr/function.strstr.php
Et voilà :-)
Ca donne:
<?
// Tout le contenu du fichier truc.txt va dans $fichier
$fichier=file_get_contents("./truc.txt");
$debut="Expert en ptit lu";
/* $texte_a_inserer prendra le contenu de $fichier en prenant pour début le contenu de $debut */
$texte_a_inserer=strstr($fichier,$debut);
echo "<html><body><div class=\"texte\"> $texte_a_inserer </div></body></html>";
?>
=> http://fr.php.net/manual/fr/function.strstr.php
Et voilà :-)
Eh bien tu fais tout pareil sauf qu'avant d'afficher $texte_a_inserer tu le transforme en tableau avec pour séparateur le mot que tu veux (on va prendre "fin".
Puis tu fais finalement un echo sur le premier élément du tableau:
Et voilà.
<?
$texte_a_inserer=explode("fin",$texte_a_inserer);
?>
Puis tu fais finalement un echo sur le premier élément du tableau:
<? echo $texte_a_inserer[0]; ?>
Et voilà.
Bonjour,
J'ai suivi avec beaucoup d'intêret et de profit la discussion. J'ai réussi quelques tests...Néanmoins aprés de multiples essais je souhaite extraire une donnée qui s'actualise (exemple : un prix ou une température) sans faire apparaitre la légende :
- Sur la page de référence : Nice 31 ° Marseille 33 ° Lyon 28° ...
- Extraction souhaitée : 33° (uniquement la température car je place en fait une photo à la place de la ville)
Quelqu'un peut-il m'aider ?
Avec mes remerciements anticipés
J'ai suivi avec beaucoup d'intêret et de profit la discussion. J'ai réussi quelques tests...Néanmoins aprés de multiples essais je souhaite extraire une donnée qui s'actualise (exemple : un prix ou une température) sans faire apparaitre la légende :
- Sur la page de référence : Nice 31 ° Marseille 33 ° Lyon 28° ...
- Extraction souhaitée : 33° (uniquement la température car je place en fait une photo à la place de la ville)
Quelqu'un peut-il m'aider ?
Avec mes remerciements anticipés
Salut,
Dans ce cas, l'idéal est de passer par une expression régulière, c'est à dire un modèle de chaine de caractère qui te permettra d'extraire telle ou telle partie.
Par exemple, prenons ta chaîne "Nice 31° Marseille 33° Lyon 28°".
Tu veux n'extraire que la température de marseille.
Voilà ce que ça donnerais:
Voici le fonctionnement, le modèle (ou masque), contenu dans $exp précise qu'il faut n'importe quel caractère (.*?) jusqu'à Marseille, ensuite un espace puis deux chiffres entre 0 et 9 ([0-9}{2}) puis un ° et n'importe quoi d'autre. Ce que l'on capture est entre parenhèses.
Enfin bref, je te renvoie ici pour plus de détail:
phpreg
J'ai pas testé mon truc, dis moi si ça marche pas et je vérifierai.
Dans ce cas, l'idéal est de passer par une expression régulière, c'est à dire un modèle de chaine de caractère qui te permettra d'extraire telle ou telle partie.
Par exemple, prenons ta chaîne "Nice 31° Marseille 33° Lyon 28°".
Tu veux n'extraire que la température de marseille.
Voilà ce que ça donnerais:
$chaine = "Nice 31° Marseille 33° Lyon 28°";
$exp = "/.*?Marseille ([0-9]{2})°.*/";
preg_match($exp, $chaine, $capture,PREG_OFFSET_CAPTURE);
echo $capture[0]; //Devrait écrire 33
Voici le fonctionnement, le modèle (ou masque), contenu dans $exp précise qu'il faut n'importe quel caractère (.*?) jusqu'à Marseille, ensuite un espace puis deux chiffres entre 0 et 9 ([0-9}{2}) puis un ° et n'importe quoi d'autre. Ce que l'on capture est entre parenhèses.
Enfin bref, je te renvoie ici pour plus de détail:
phpreg
J'ai pas testé mon truc, dis moi si ça marche pas et je vérifierai.
Bonjour et merci pour les indications précieuses qui m'ont permis d'avancer
Ainsi pour le :
$chaine = "Nice 31° Marseille 33° Lyon 28°";
$exp = "/.*?Marseille ([0-9]{2})°.*/";
preg_match($exp, $chaine, $capture,PREG_OFFSET_CAPTURE);
echo $capture[0]; //Devrait écrire 33
j'obtiens dans le navigateur :
ARRAY
Je ne sais pas à quoi cela correspond?
J'ai creusé du coté de strstr comme tu me l'avais conseillé et surprise :
<?
$chaine = "Nice 31° Marseille 33° Lyon 28°";
$exp = strstr($chaine,"Marseille");
$texte1 = str_replace('Marseille','',$exp);
$nouveau_texte = substr($texte1,0,strpos($texte1,'L'));
echo "<html><body><div class=\"texte\"> $texte_a_inserer </div></body></html>";
?>
En fait j'ai désigné la chaine
puis recherché tous les caractères à partir de Marseille (inclus)
puis effacer Marseille
et enfin supprimer le texte à partir de "L" (inclus)
Est-ce que c'est propre ?
Je vais tester ça entre 2 pages HTML avec un tableau excel...
Je te renouvelle mes remerciements
Ainsi pour le :
$chaine = "Nice 31° Marseille 33° Lyon 28°";
$exp = "/.*?Marseille ([0-9]{2})°.*/";
preg_match($exp, $chaine, $capture,PREG_OFFSET_CAPTURE);
echo $capture[0]; //Devrait écrire 33
j'obtiens dans le navigateur :
ARRAY
Je ne sais pas à quoi cela correspond?
J'ai creusé du coté de strstr comme tu me l'avais conseillé et surprise :
<?
$chaine = "Nice 31° Marseille 33° Lyon 28°";
$exp = strstr($chaine,"Marseille");
$texte1 = str_replace('Marseille','',$exp);
$nouveau_texte = substr($texte1,0,strpos($texte1,'L'));
echo "<html><body><div class=\"texte\"> $texte_a_inserer </div></body></html>";
?>
En fait j'ai désigné la chaine
puis recherché tous les caractères à partir de Marseille (inclus)
puis effacer Marseille
et enfin supprimer le texte à partir de "L" (inclus)
Est-ce que c'est propre ?
Je vais tester ça entre 2 pages HTML avec un tableau excel...
Je te renouvelle mes remerciements
PS : dans la réponse précédente il faut remplacer echo...$texte_à_insere par $nouveau_texte
c'est idiot mais j'arrive pas à changer la police de mon résultat ???
echo "<html><body>
<font-size:20.0pt;font-family:"Arial Narrow";color:red'>$nouveau_texte </font>
</body></html>";
que manque-t-il ?
Merci d'avance
c'est idiot mais j'arrive pas à changer la police de mon résultat ???
echo "<html><body>
<font-size:20.0pt;font-family:"Arial Narrow";color:red'>$nouveau_texte </font>
</body></html>";
que manque-t-il ?
Merci d'avance