Page 1 sur 2
stocker dans une Bd le contenu de site aspiré grace à curl
Posté : 25 juin 2013, 17:10
par WENKZ
Bonjour,
depuis quelques jours je me suis mis dans le développement d'un script php avec CURL et DOMdocument qui permet d'aspirer le contenu d'un site et d'une balise precise, mon script fonctionne, mais je bloque sur la façon de sauvegardé les donnée récupérer par le script dans une base de donnée ou même dans un fichier .txt
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 25 juin 2013, 17:12
par WENKz
.
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 25 juin 2013, 22:07
par WENKz
up?
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 07:58
par Mazarini
Pour écrire dans un fichier, tu peux regarder les fonctions fopen(), fputs() et fclose().
Pour stocker dans une base mysql, tu peux regarder les fonctions mysqli (mysqli_querry()...)
Pour avoir une réponse, il faudrait que tu sois plus précis dans ce qui te bloque.
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 08:15
par WENKz
Merci de te réponse très utilise

mais mysql_query n'est il pas obsolète ? je souhaite enregistré le resultat de ce code dans la bd ou dans un fichier .txt, je vais deja essayé d'enregistrer le contenu avec fopen() etc et si tu as une idée pour la façon de placer ces commande dans mon code t'es idée sont les bien venues ^^ merci et bonne journée =D
require_once 'simple_html_dom.php';
$html = new simple_html_dom();
$html->load_file('http://www.domaine.fr/domaine');
foreach($html->find('.pright') as $post){
echo 'ARTICLE : '.'<span style="color:blue;Font-Family: Arial, Sans-Serif;">'.$post->find('.panel_titre',0)->plaintext.'<br/>'.'</span>';
echo 'ARTICLE : '.'<span style="color:green;Font-Family: Arial, Sans-Serif;">'.$post->find('.stock_in',0)->plaintext.'<br/>'.'</span>';
echo 'ARTICLE : '.'<span style="color:red;Font-Family: Arial, Sans-Serif;">'.$post->find('#price',0)->plaintext.'<br/>'.'</span>';
}
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 08:24
par WENKz
Et tu ne jouerai pas a cod4 toi ??? vue ton pseudo je suppose que tu aime les frags movie de mazarini nan ?
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 08:46
par Mazarini
ob_start(); // bufferisation de la page
require_once 'simple_html_dom.php';
$html = new simple_html_dom();
$html->load_file('http://www.domaine.fr/domaine');
foreach($html->find('.pright') as $post){
echo 'ARTICLE : '.'<span style="color:blue;Font-Family: Arial, Sans-Serif;">'.$post->find('.panel_titre',0)->plaintext.'<br/>'.'</span>';
echo 'ARTICLE : '.'<span style="color:green;Font-Family: Arial, Sans-Serif;">'.$post->find('.stock_in',0)->plaintext.'<br/>'.'</span>';
echo 'ARTICLE : '.'<span style="color:red;Font-Family: Arial, Sans-Serif;">'.$post->find('#price',0)->plaintext.'<br/>'.'</span>';
$f=fopen('tonfichier',w);
fputs($f,ob_get_contents());
fclose($f);
Un truc dans ce genre : tu vois à l'écran ce que tu enregistres dans le fichier grâce au fonctions ob_start() et ob_get_contents(). Si tu ne veux pas afficher le résultat dans le navigateur, ob_end_clean() vide le tampon.
Sinon tu peux remplacer les echo par des fputs() pour envoyer dans le fichier au lieu du navigateur. Ou faire une fonction qui fait echo ou fputs en fonction de la valeur d'une constante.
Si mysql_query() est obsolète, mysql
i_query() ne l'est pas. Par contre, j'ai fait une faute de frappe en mettant 2 r.
Je ne connais pas cod4. Si c'est ce que je crois, je préfère les jeux au tour par tour comme Dofus. C'est beaucoup plus reposant de ne pas être obligé de martyriser son clavier ou sa souris.
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 09:07
par WENKz
Merci de ta réponse rapide, est il possible d'enregistrer le contenu dans un fichier excel ?? Mais aussi une autre question, sur quelle serveur jouez vous ?
Je vous fais suivre le reste du code dès que j'ai finis ^^ pour ceux qui ont besoin

Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 09:25
par Mazarini
J'ai fait pas mal de serveur, Goultard en dernier mais j'ai un peu arrêté. J'aime bien la première année des serveurs pour faire du commerce, après ca me gonfle. C'était marrant d'être le premier tailleur lvl 100 voir le premier cordonnier et ensuite de faire de l'élevage de dragodindes.
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 10:59
par WENKz
Moi j'aimais bien farm avec des potes dans les donjon pour ensuite revendre no items que l'on a drop , et au fait comment fait on pour purger le le code lorsqu'il est envoyé dans 'tonfichier' enlever tout ce qui est balise <span><br/> etc... et aussi pour lui dire de faire des saut a la ligne .... comme exemple
text
text
text
au lieu de texttexttext
et si on peut faire un tableau ou non ou créer un fichier .xlsx (excle)
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 13:19
par Mazarini
fputs($f,$post->find('.panel_titre',0)->plaintext);
fputs($f,"\n");
fputs($f,$post->find('.stock_in',0)->plaintext);
fputs($f,"\n");
fputs($f,$post->find('#price',0)->plaintext);
fputs($f,"\n");
Un truc dans ce genre en enlevant les fonctions ob_xxxx() et en mettant le fopen() au début (avant le foreach).
Tu as 3 chaines à chaque itération, tu peux présenter comme tu veux en ajoutant des fputs() avec des balises ou n'importe quoi d'autre.
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 14:16
par WENKz
D'accord merci, comment puis-je créer une page dans la quelle je vais faire un formulaire a une case dans l'a quelle on devra mettre une url et en cliquant sur ajouter, l'url s'ajoute toute seul dans le script php tout en generant les meme option pour recuperer les données c'est un peu plus compliqué
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 14:37
par Mazarini
Tu récupères les données des formulaires dans les array $_GET ou $_POST suivant l'attribut method du formulaire. L'attribut action permet de spécifier l'url du script PHP.
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 16:14
par WENKz
un truc dans ce genre la ?
$url=$_POST['url'];
<form action="script.php" method="post">
<input type="text" name="$url" />
<input type="submit" value="Valider" />
Re: stocker dans une Bd le contenu de site aspiré grace à cu
Posté : 26 juin 2013, 16:33
par Mazarini
Un truc dans le genre :
>?PHP
// Recup url
if (isset($url)) {
$url=$_POST['url'];
} else {
$url = '';
}
// traitement url
if ($url <> '') {
// le traitement qui stocke l'url dans un fichier
} else {
echo 'url vide ou premier affichage';
}
// affichage de la page
?>
<form action="script.php" method="post">
<input type="text" name="url" value="<?PHP echo $url; ?>" />
<input type="submit" value="Valider" />
</form>