Récupération des balises div
Fermé
queryz
Messages postés
102
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
9 décembre 2010
-
17 nov. 2009 à 10:36
queryz Messages postés 102 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 9 décembre 2010 - 25 nov. 2009 à 10:02
queryz Messages postés 102 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 9 décembre 2010 - 25 nov. 2009 à 10:02
A voir également:
- Récupération des balises div
- Div c++ - Télécharger - Langages
- Comment récupérer des messages supprimés sur whatsapp - Guide
- Recuperation compte google - Guide
- Recuperation video youtube - Guide
- Récupération serveur sql - Télécharger - Gestion de données
26 réponses
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
17 nov. 2009 à 10:44
17 nov. 2009 à 10:44
bonjour,
c'est plutôt étrange comme requête...
à mon avis ton site est mal structuré !
sinon la seule solution que je vois serait de créer en ajax
créer une div vide avec le style display: none;
aller chercher sur le serveur le contenu de tes pages le mettre dedans avec innerHTML += responseText
et de là aller chercher le contenu des div que tu veux
mais il ne faut pas qu'il y est plusieurs div avec le même id...
ensuite supprimer la div créée au début.
c'est du bricolage un peu étrange quand même...
c'est plutôt étrange comme requête...
à mon avis ton site est mal structuré !
sinon la seule solution que je vois serait de créer en ajax
créer une div vide avec le style display: none;
aller chercher sur le serveur le contenu de tes pages le mettre dedans avec innerHTML += responseText
et de là aller chercher le contenu des div que tu veux
mais il ne faut pas qu'il y est plusieurs div avec le même id...
ensuite supprimer la div créée au début.
c'est du bricolage un peu étrange quand même...
queryz
Messages postés
102
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
9 décembre 2010
10
17 nov. 2009 à 10:52
17 nov. 2009 à 10:52
Merci de ta réponse ,
Je pense pas que c'est étrange , c'est a mon avis ce qu'utilise les sites de comparateur de prix ?!
Je peux re formuler si tu le souhaite :
J'ai une liste de 1000 fiche produits :
Pour chaque produit , dans la source il y a ceci :
<div style="position: absolute ;display:none;" id="eiid">1172770093</div>
<div style="position: absolute ;display:none;" id="reflm">64919134</div>
<div style="position: absolute ;display:none;" id="tva">19.6</div>
<div style="position: absolute ;display:none;" id="UnitPriceATA">169.0</div>
<div style="position: absolute ;display:none;" id="Weight">100.0</div>
<div style="position: absolute ;display:none;" id="DeliveryDelay">60</div>
<div style="position: absolute ;display:none;" id="ModeVente">non</div>
<div style="position: absolute ;display:none;" id="CodeBarre">3383720000794</div>
<div style="position: absolute ;display:none;" id="vignette">/multimedia-storage/02/3c/48c4175b2247198c77d271f74b92-photo-a-venir-70.gif</div>
<div style="position: absolute ;display:none;" id="DiscountMention"></div>
<div style="position: absolute ;display:none;" id="TopPickup">0</div>
Moi j'aimerais afficher sur une page que ceux qui est contenu dans les div , sous forme de liste . Sachant que je dispose de tous les liens .
J'aimerais trouver une solution .
Je pense pas que c'est étrange , c'est a mon avis ce qu'utilise les sites de comparateur de prix ?!
Je peux re formuler si tu le souhaite :
J'ai une liste de 1000 fiche produits :
Pour chaque produit , dans la source il y a ceci :
<div style="position: absolute ;display:none;" id="eiid">1172770093</div>
<div style="position: absolute ;display:none;" id="reflm">64919134</div>
<div style="position: absolute ;display:none;" id="tva">19.6</div>
<div style="position: absolute ;display:none;" id="UnitPriceATA">169.0</div>
<div style="position: absolute ;display:none;" id="Weight">100.0</div>
<div style="position: absolute ;display:none;" id="DeliveryDelay">60</div>
<div style="position: absolute ;display:none;" id="ModeVente">non</div>
<div style="position: absolute ;display:none;" id="CodeBarre">3383720000794</div>
<div style="position: absolute ;display:none;" id="vignette">/multimedia-storage/02/3c/48c4175b2247198c77d271f74b92-photo-a-venir-70.gif</div>
<div style="position: absolute ;display:none;" id="DiscountMention"></div>
<div style="position: absolute ;display:none;" id="TopPickup">0</div>
Moi j'aimerais afficher sur une page que ceux qui est contenu dans les div , sous forme de liste . Sachant que je dispose de tous les liens .
J'aimerais trouver une solution .
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
17 nov. 2009 à 12:24
17 nov. 2009 à 12:24
utilise plutôt une base de donnée,
ce sera plus souple moins lourd et plus rapide et plus simple
le comparateur de prix utilise forcément une base de donnée.
cette technique n'est pas viable, ça fait ouvrir beaucoup de fichier ca demande énormément de calcul pour pas grand chose au final
renseigne toi sur les bases de données
regarde ça par exemple :
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913655-quest-ce-quune-base-de-donnees
http://dev.mysql.com/doc/refman/5.0/fr/index.html
il te faut des connaissance en php aussi...
mais bien moins que pour le faire comme tu voulais !
ce sera plus souple moins lourd et plus rapide et plus simple
le comparateur de prix utilise forcément une base de donnée.
cette technique n'est pas viable, ça fait ouvrir beaucoup de fichier ca demande énormément de calcul pour pas grand chose au final
renseigne toi sur les bases de données
regarde ça par exemple :
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913655-quest-ce-quune-base-de-donnees
http://dev.mysql.com/doc/refman/5.0/fr/index.html
il te faut des connaissance en php aussi...
mais bien moins que pour le faire comme tu voulais !
queryz
Messages postés
102
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
9 décembre 2010
10
17 nov. 2009 à 13:04
17 nov. 2009 à 13:04
Salut Atropa,
Merci de ta réponse !
Je connais super bien les bases de données , en particulier mysql !
As tu compris ce que je voulais faire ?
En fait j'ai déja la liste des liens vers les fiches produits (contenu dans une base)
, cependant j'aimerais récupérer qu'une partie des informations contenus de ces liens de fiches produits 'voir plus haut)
Merci de ta réponse !
Je connais super bien les bases de données , en particulier mysql !
As tu compris ce que je voulais faire ?
En fait j'ai déja la liste des liens vers les fiches produits (contenu dans une base)
, cependant j'aimerais récupérer qu'une partie des informations contenus de ces liens de fiches produits 'voir plus haut)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
17 nov. 2009 à 13:49
17 nov. 2009 à 13:49
tu veux récupéré les valeurs du genre prix tva etc de chaque produit pour en faire autre chose si j'ai bien compris
seulement je ne comprend pas pourquoi tu veux les récupérer une fois généré en html surtout si ils sont déjà dans une base de donnée
si ton but est de pouvoir les récupérer en javascript pourquoi ne pas le faire en json par exemple ou créer directement un tableaux js entre balises script...
après ca reviendrai presque au même que de le faire dans des div en étant plus simple et plus légé
sinon si tes div sont déjà dans ton code source tu peux accèder à leur contenu en js avec document.getElementById().innerHTML
mais ça reste bizarre comme méthode...
tu veux récupérer ces valeur pour en faire quoi ?
tu veux les traiter avec quel langage ?
je ne comprend pas bien effectivement...
seulement je ne comprend pas pourquoi tu veux les récupérer une fois généré en html surtout si ils sont déjà dans une base de donnée
si ton but est de pouvoir les récupérer en javascript pourquoi ne pas le faire en json par exemple ou créer directement un tableaux js entre balises script...
après ca reviendrai presque au même que de le faire dans des div en étant plus simple et plus légé
sinon si tes div sont déjà dans ton code source tu peux accèder à leur contenu en js avec document.getElementById().innerHTML
mais ça reste bizarre comme méthode...
tu veux récupérer ces valeur pour en faire quoi ?
tu veux les traiter avec quel langage ?
je ne comprend pas bien effectivement...
queryz
Messages postés
102
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
9 décembre 2010
10
17 nov. 2009 à 14:07
17 nov. 2009 à 14:07
Effectivement je souhaite récupérer les informations tel que le prix , tva , ref etc...
1/ C'est le lien des pages que j'ai et non pas les informations ;)
2/ Je souhaite récupérer ces valeurs pour faire un comparatifs sous excel des principaux sites de bricolage sur certaines catégories de produits
3/ Voici un petit exemple qui pourrait t'aider a mieux comprendre
Pour : chaque page contenues dans la base (produits)
Faire : -Récuperer les infos contenus dans les div : prix , tva
-Les afficher sur la page (ou les enregistrer dans une base)
PS : La page ou je vais codés est indépendante du site !
Cordialement
1/ C'est le lien des pages que j'ai et non pas les informations ;)
2/ Je souhaite récupérer ces valeurs pour faire un comparatifs sous excel des principaux sites de bricolage sur certaines catégories de produits
3/ Voici un petit exemple qui pourrait t'aider a mieux comprendre
Pour : chaque page contenues dans la base (produits)
Faire : -Récuperer les infos contenus dans les div : prix , tva
-Les afficher sur la page (ou les enregistrer dans une base)
PS : La page ou je vais codés est indépendante du site !
Cordialement
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
17 nov. 2009 à 14:30
17 nov. 2009 à 14:30
si tu as accès au premiers site le mieux serait de faire un fichier json ou autre dessus
et d'aller rechercher ce fichier ensuite avec le second
si des deux coté c'est traité en php un simple serialize unserialize suffirait à pouvoir traiter les données
pour le faire uniquement à partir des liens il faut parser le html pour en extraire ensuite les données que tu veux et là c'est autre chose... c'est a prendre en dernier recours ça !
je ne connais pas de moyen simple de parser le xml... mais regarde de ce coté : https://www.php.net/manual/fr/refs.xml.php
ou alors je viens de penser à autre chose mais il faut que tu connaisses précisément la structure de tes div
tu peux peut être faire un truc du genre :
mais ca reste du bricolage...
et d'aller rechercher ce fichier ensuite avec le second
si des deux coté c'est traité en php un simple serialize unserialize suffirait à pouvoir traiter les données
pour le faire uniquement à partir des liens il faut parser le html pour en extraire ensuite les données que tu veux et là c'est autre chose... c'est a prendre en dernier recours ça !
je ne connais pas de moyen simple de parser le xml... mais regarde de ce coté : https://www.php.net/manual/fr/refs.xml.php
ou alors je viens de penser à autre chose mais il faut que tu connaisses précisément la structure de tes div
tu peux peut être faire un truc du genre :
fopen(); $file = fread(); fclose(); preg_match("#id=\"tva\">([0-9\.]*)</div>#",$file,$tva); echo $tva[1]; //contiendra normalement la tva valeur de la tva
mais ca reste du bricolage...
queryz
Messages postés
102
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
9 décembre 2010
10
17 nov. 2009 à 14:34
17 nov. 2009 à 14:34
J'ai enfin réussi a te faire comprendre ! LOL !
Tu n'est pas le premier a me dire d'utiliser pregmatch , mais malgrés les quelques connaisances que je posséde en php , cette fonction est completement inconnue pour moi?
J'ai cherché un peu de tuto sur le net , je trouve rien d'intéressant concernant ce que je recherche
Peut tu m'expliquer un peu plus cela (je t'oblige pas mais ça serait sympa) :
fopen();
$file = fread();
fclose();
preg_match("#id=\"tva\">([0-9\.]*)</div>#",$file,$tva);
echo $tva[1]; //contiendra normalement la tva valeur de la tva
MERCI BEAUCOUP
je reste à ta dispo pour d'éventuel questions biensur ;)
Tu n'est pas le premier a me dire d'utiliser pregmatch , mais malgrés les quelques connaisances que je posséde en php , cette fonction est completement inconnue pour moi?
J'ai cherché un peu de tuto sur le net , je trouve rien d'intéressant concernant ce que je recherche
Peut tu m'expliquer un peu plus cela (je t'oblige pas mais ça serait sympa) :
fopen();
$file = fread();
fclose();
preg_match("#id=\"tva\">([0-9\.]*)</div>#",$file,$tva);
echo $tva[1]; //contiendra normalement la tva valeur de la tva
MERCI BEAUCOUP
je reste à ta dispo pour d'éventuel questions biensur ;)
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
17 nov. 2009 à 14:56
17 nov. 2009 à 14:56
c'est pas facile à utliser au début...
voilà ou tu renseigner sur cette fonction :
https://www.php.net/manual/fr/function.preg-match.php
https://www.php.net/manual/fr/pcre.pattern.php
voilà la doc officiel tu en aura besoin !
et un tutoriel simple pour commencer : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916990-les-expressions-regulieres-partie-1-2
ensuite pour ouvrir le fichier pour simplifier fopen etc utilise plutot file_get_contents():
voilà la doc : https://www.php.net/manual/fr/function.file-get-contents.php
donc :
voilà ou tu renseigner sur cette fonction :
https://www.php.net/manual/fr/function.preg-match.php
https://www.php.net/manual/fr/pcre.pattern.php
voilà la doc officiel tu en aura besoin !
et un tutoriel simple pour commencer : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916990-les-expressions-regulieres-partie-1-2
ensuite pour ouvrir le fichier pour simplifier fopen etc utilise plutot file_get_contents():
voilà la doc : https://www.php.net/manual/fr/function.file-get-contents.php
donc :
<?php $file = file_get_contents('http://www.adressedetonsite.fr'); //ouvre et lis le fichier dans une chaine if(preg_match("#id=\"tva\">([0-9\.]*)</div>#",$file,$tva)) { //recherche l'id tva avec un contenu numérique $tva = $tva[1]; // si tva est trouvé attribut la valeur à la varieble tva } /* pour la regex : l'expression est une chaine de caratère d'où les " les # servent de délimiteur , pour dire ou comment et fini le masque id=\"tva\"> vas rechercher id="tva"> dans le fichier les \ servent à échapper les " ([0-9\.]*) les parenthèse servent à capturer leur "contenu" entre crochet ce sont des classes de caractères 0-9 var rechercher tout les caractère allant de 0 à 9 \. inclu le . dans la classe en l'échappant le * signifie que cette classe peut être 0 ou autant de fois qu'on veut (je m'explique mal) par exemple la classe reconnaitra : (je délimite les valeur par une virgule) 1, 12, 955486.156, ., .125, etc. </div> recherche </div> donc la regex va rechercher dans le fichier id="tva"> suivit d'un nombre qui contient ou non un . suivie de </div> les parenthèse capturante : la variable $tva en argument de la fonction preg_match va recevoir un tableau des valeur capturéabs $tva[0] est la capture du masque complet $tva[1] est la capture de la parti du masque entre la première parenthèse $tva[2] la capture de la seconde les parenthèse sont compter dans l'ordre d'ouverture par exemple : (<= 1 (<=2 )(<=3 ))(<=4) */ ?>
Je te remerci beaucoup , ca marche !!!
Je vais essayer maintenant de le faire pour les 1000 sites que j'ai en base .
Je te tiens au jus.
Je vais essayer maintenant de le faire pour les 1000 sites que j'ai en base .
Je te tiens au jus.
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
17 nov. 2009 à 15:13
17 nov. 2009 à 15:13
par contre ce n'est à mon avis pas la meilleure solution à ton problème !
le mieux serait un truc du genre sur ton premier site :
et un truc du genre à l'arrivé :
le mieux serait un truc du genre sur ton premier site :
<?php $pathFile = './monchier.cequejeveux' $produits = array(); $data = mysql_query("SELECT * INTO produits"); while($p = mysql_fetch_array($data)) { $produits[$p['nom']]['tva'] = $p['tva']; $produits[$p['nom']]['prix'] = $p['prix']; $produits[$p['nom']]['ref'] = $p['ref']; // etc. } file_put_contents($pathFile,serialize($produits),LOCK_EX); ?>
et un truc du genre à l'arrivé :
<?php $adrFile = 'http://www.monsite.fr/adresse/monfichier.cequejeveux'; $produits = unserialize(file_get_contents($adrFile)); //$produits contient le tableaux laissé sur l'autre site... ?>
Merci , ca à l'air de marcher !!!
Mais pour les chaine de caractéres on remplace les 0 9 par "a" et "z" ??
Mais pour les chaine de caractéres on remplace les 0 9 par "a" et "z" ??
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
17 nov. 2009 à 15:34
17 nov. 2009 à 15:34
oui par exemple regarde les liens que je t'ai mis il y a la documentation dedans et comment construire des masques
queryz
Messages postés
102
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
9 décembre 2010
10
17 nov. 2009 à 15:51
17 nov. 2009 à 15:51
Peut tu m'expliquer rapidement les différentes actions qu'effectue ceci : (merci beaucoup)
<?php
$pathFile = './monchier.cequejeveux'
$produits = array();
$data = mysql_query("SELECT * INTO produits");
while($p = mysql_fetch_array($data)) {
$produits[$p['nom']]['tva'] = $p['tva'];
$produits[$p['nom']]['prix'] = $p['prix'];
$produits[$p['nom']]['ref'] = $p['ref'];
// etc.
}
file_put_contents($pathFile,serialize($produits),LOCK_EX);
?>
et un truc du genre à l'arrivé :
<?php
$adrFile = 'http://www.monsite.fr/adresse/monfichier.cequejeveux';
$produits = unserialize(file_get_contents($adrFile));
//$produits contient le tableaux laissé sur l'autre site...
?>
<?php
$pathFile = './monchier.cequejeveux'
$produits = array();
$data = mysql_query("SELECT * INTO produits");
while($p = mysql_fetch_array($data)) {
$produits[$p['nom']]['tva'] = $p['tva'];
$produits[$p['nom']]['prix'] = $p['prix'];
$produits[$p['nom']]['ref'] = $p['ref'];
// etc.
}
file_put_contents($pathFile,serialize($produits),LOCK_EX);
?>
et un truc du genre à l'arrivé :
<?php
$adrFile = 'http://www.monsite.fr/adresse/monfichier.cequejeveux';
$produits = unserialize(file_get_contents($adrFile));
//$produits contient le tableaux laissé sur l'autre site...
?>
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
17 nov. 2009 à 16:18
17 nov. 2009 à 16:18
ca va chercher dans la base de donnée toutes les données de la table produit
ca construit ensuite un tableau sous la forme
$produits = array(
'mon produit' => array(
'prix' => 50,
'tva' => 19.6,
'ref' => 'edfg15578dfg'
),
'mon produit2' => array(
'prix' => 15,
'tva' => 19.6,
'ref' => 'df4d8frd4f8g5f'
)
etc.
);
ça transforme ce tableau en chaine de caractère grâce à serialize()
et ça le stock dans un fichier
le second script va rechercher ce fichier
lit la chaine de caractère et reconstitue le tableaux...
ca construit ensuite un tableau sous la forme
$produits = array(
'mon produit' => array(
'prix' => 50,
'tva' => 19.6,
'ref' => 'edfg15578dfg'
),
'mon produit2' => array(
'prix' => 15,
'tva' => 19.6,
'ref' => 'df4d8frd4f8g5f'
)
etc.
);
ça transforme ce tableau en chaine de caractère grâce à serialize()
et ça le stock dans un fichier
le second script va rechercher ce fichier
lit la chaine de caractère et reconstitue le tableaux...
queryz
Messages postés
102
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
9 décembre 2010
10
17 nov. 2009 à 16:22
17 nov. 2009 à 16:22
Dans ma base ce sont les liens sur lequele je dois récupérer les infos , ce ne sont pas les produits
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
17 nov. 2009 à 16:30
17 nov. 2009 à 16:30
ok enfait si je comprend bien tu veux faire un comparateur de prix sur des sites distants sans avoir accés à leur code php?
et tu veux automatiser le référencement des valeurs en donnant à ton script uniquement l'adresse de la page?
si c'est bien ça ça risque d'être difficile à faire parce qu'il faut qu'il y est un identifiant sur chaque détail de produit et que cette identifiant ne contienne que ça après il faut que ton script reconnaissent l'url et que tu puisse ouvrir la page en php...
et tu veux automatiser le référencement des valeurs en donnant à ton script uniquement l'adresse de la page?
si c'est bien ça ça risque d'être difficile à faire parce qu'il faut qu'il y est un identifiant sur chaque détail de produit et que cette identifiant ne contienne que ça après il faut que ton script reconnaissent l'url et que tu puisse ouvrir la page en php...
queryz
Messages postés
102
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
9 décembre 2010
10
23 nov. 2009 à 14:32
23 nov. 2009 à 14:32
Lorsque je récupére un chemin de type /images/3.jpg
Que dois je mettre a la place de : ([0-9\.]*)
j'ai essayé de cherche sur le manuel mais aucun ne marche
Autre question : Ceux qu'on veut récupérer doit t'il obligatoirement venir d'une balise div ?? car j'aimerais récupérer ceux qu'il y a entre ce textarea :
<TEXTAREA style="position: absolute ;display:none;" id="designation2" NAME="designation2" COLS=20 ROWS=6 >Hauteur : 1.19 m, largeur : 1 m, produit répondant à la norme NFP 90306.</TEXTAREA>
merci beaucoup Atropa
Que dois je mettre a la place de : ([0-9\.]*)
j'ai essayé de cherche sur le manuel mais aucun ne marche
Autre question : Ceux qu'on veut récupérer doit t'il obligatoirement venir d'une balise div ?? car j'aimerais récupérer ceux qu'il y a entre ce textarea :
<TEXTAREA style="position: absolute ;display:none;" id="designation2" NAME="designation2" COLS=20 ROWS=6 >Hauteur : 1.19 m, largeur : 1 m, produit répondant à la norme NFP 90306.</TEXTAREA>
merci beaucoup Atropa