IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[CSV] Faire un crawler


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 10
    Par défaut [CSV] Faire un crawler
    voilà je vous explique mon problème, ma direction m'a demandé de faire un programme qui permet de mettre le contenu (ou une partie) d'une page html dans un fichier csv, je ne sais pas trop ce qu'ils veulent faire de ce programme mais bon on m'a demandé de le faire et je dois le faire (peut-etre pour me tester avant la fin de ma période d'essais).

    je ne sais pas trop par où commencer, je vais coder en php car c'est le langage avec lequel je suis le plus à l'aise ... mais est-ce possible ? je n'ai rien trouver sur le net.

    si vous avez des idées ... n'hésitez pas !

    Jimmy

  2. #2
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    si tu veux mettre des fichiers les uns dans les autres,...
    y a quelques fonctions pour manier les fichiers pas très compliquées en php.
    tu ouvre le fichier avec fopen()
    tu le lis avec fgets ou autre
    tu manipule ce que tu dois faire avec php, je sais pas ce que tu es censé prendre comme partie de fichier etc...
    tu ouvre le fichier csv avec fopen()
    tu peux placer ou tu veux de le fichier avec fseek()
    tu écrit dans le fichier avec fputs()
    tu ferme les fichiers avec fclose()

    tu trouve les infos sur les fonctions dans la doc
    ca t'a aidé ?

  3. #3
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Le contenu d'un fichier html ?
    C'est à dire uniquement le contenu textuel ?
    Si c'est bien le cas il faudra passer par une expression régulière pour "nettoyer" le source du fichier en question de toutes balises html, ensuite je vois pas bien comment faire pour séparer tes données ?

    Comment es formaté ton fichier ? Il y a des <table> ? Des <div> ?

    Faire un csv du contenu d'une table c'est simple, du contenu d'un fichier HTML je vois pas où ils veulent en venir ?

  4. #4
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    j'ai pas compris ce que tu voulais exactement, tu vois déjà macbook dis autre chose lol moi j'ai juste compris qu'il faut mettre le contenu d'un fichier dans un autre et j'ai expliqué lol

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 10
    Par défaut
    bon voila j'ai eu plus d'infos.

    en gros c'est pour récupérer des infos sur le net.

    par exemple le site www.oooo.com a sur sa page d'accueil :

    bonjour, bienvenue sur mon site.

    je dois faire un programme qui enregistre dans un fichier csv "bonjour, bienvenue sur mon site"

  6. #6
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    bon alors tu fais comme j'ai dit en haut, et pour supprimer les balises html utilise la fonction htmlentities
    si j'ai la chance d'avoir trouvé ce que tu voulais tu me le dit lol

  7. #7
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Depuis quand htmlentities() supprime les balises html ?

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 10
    Par défaut
    je viens d'avancer un peu.
    je viens d'écrire une fonction toute bete qui me permet de recupérer le code html d'une page web et de la stocker sur mon serveur, maintenant il me reste a parser cette page, quelqu'un connait un bon tuto sur les expression regulieres ?

  9. #9
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Un méchant coup de strip_tags() !

    Par exemple avec :

    <?php

    &#160;&#160;&#160;&#160;$str&#160;
    =&#160;"<!DOCTYPE&#160;HTML&#160;PUBLIC&#160;\"-//W3C//DTD&#160;HTML&#160;4.01&#160;Transitional//EN\">
    &#160;&#160;&#160;&#160;<html>
    &#160;&#160;&#160;&#160;<head>
    &#160;&#160;&#160;&#160;</head>
    &#160;&#160;&#160;&#160;<body>
    &#160;&#160;&#160;&#160;
    &#160;&#160;&#160;&#160;<table&#160;width=\"100%\"&#160;border=\"0\"&#160;cellspacing=\"0\"&#160;cellpadding=\"0\">
    &#160;&#160;&#160;&#160;<tr>
    &#160;&#160;&#160;&#160;<td><span&#160;class=\"postdetails\">Posté&#160;le:&#160;Mer&#160;Fév&#160;22,&#160;2006&#160;10:46<span&#160;class=\"gen\">&nbsp;</span>&nbsp;&#160;&nbsp;Sujet&#160;du&#160;message:&#160;Faire&#160;un&#160;crawler</span></td>
    &#160;&#160;&#160;&#160;</tr>
    &#160;&#160;&#160;&#160;<tr>&#160;
    &#160;&#160;&#160;&#160;<td><hr&#160;/></td>
    &#160;&#160;&#160;&#160;</tr>
    &#160;&#160;&#160;&#160;<tr>
    &#160;&#160;&#160;&#160;<td>
    &#160;&#160;&#160;&#160;<span&#160;class=\"postbody\">voilà&#160;je&#160;vous&#160;explique&#160;mon&#160;problème,&#160;ma&#160;direction&#160;m'a&#160;demandé&#160;de&#160;faire&#160;un&#160;programme&#160;qui&#160;permet&#160;de&#160;mettre&#160;le&#160;contenu&#160;(ou&#160;une&#160;partie)&#160;d'une&#160;page&#160;html&#160;dans&#160;un&#160;fichier&#160;csv,&#160;je&#160;ne&#160;sais&#160;pas&#160;trop&#160;ce&#160;qu'ils&#160;veulent&#160;faire&#160;de&#160;ce&#160;programme&#160;mais&#160;bon&#160;on&#160;m'a&#160;demandé&#160;de&#160;le&#160;faire&#160;et&#160;je&#160;dois&#160;le&#160;faire&#160;(peut-etre&#160;pour&#160;me&#160;tester&#160;avant&#160;la&#160;fin&#160;de&#160;ma&#160;période&#160;d'essais).<br&#160;/><br&#160;/>
    &#160;&#160;&#160;&#160;je&#160;ne&#160;sais&#160;pas&#160;trop&#160;par&#160;où&#160;commencer,&#160;je&#160;vais&#160;coder&#160;en&#160;php&#160;car&#160;c'est&#160;le&#160;langage&#160;avec&#160;lequel&#160;je&#160;suis&#160;le&#160;plus&#160;à&#160;l'aise&#160;...&#160;mais&#160;est-ce&#160;possible&#160;?&#160;je&#160;n'ai&#160;rien&#160;trouver&#160;sur&#160;le&#160;net.<br&#160;/><br&#160;/>
    &#160;&#160;&#160;&#160;si&#160;vous&#160;avez&#160;des&#160;idées&#160;...&#160;n'hésitez&#160;pas&#160;!<br&#160;/><br&#160;/>
    &#160;&#160;&#160;&#160;Jimmy</span><span&#160;class=\"gensmall\"></span>
    &#160;&#160;&#160;&#160;</td>
    &#160;&#160;&#160;&#160;</tr>
    &#160;&#160;&#160;&#160;</table>
    &#160;&#160;&#160;&#160;</body>
    &#160;&#160;&#160;&#160;</html>"&#160;
    ;

    &#160;&#160;&#160;&#160;echo&#160;
    strip_tags&#160;(&#160;$str&#160;)&#160;;
    ?>

    Phpsyntaxcolor powered by decabodi
    On obtiens :

    Posté le: Mer Fév 22, 2006 10:46 Sujet du message: Faire un crawler voilà je vous explique mon problème, ma direction m'a demandé de faire un programme qui permet de mettre le contenu (ou une partie) d'une page html dans un fichier csv, je ne sais pas trop ce qu'ils veulent faire de ce programme mais bon on m'a demandé de le faire et je dois le faire (peut-etre pour me tester avant la fin de ma période d'essais). je ne sais pas trop par où commencer, je vais coder en php car c'est le langage avec lequel je suis le plus à l'aise ... mais est-ce possible ? je n'ai rien trouver sur le net. si vous avez des idées ... n'hésitez pas ! Jimmy

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 10
    Par défaut
    strip_tags me sera peut etre utile.

    merci les gars.

    je vous tiend au courant.

  11. #11
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 10
    Par défaut
    je reviens juste pour vous dire merci, vous m'avez bien orienté, les parsers ont été codés en à peine 2 jours ... et ils ont bien travaillé : 3000 pages parsés en moins de 30 minutes ;-)

  12. #12
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Un petit alors ?

Discussions similaires

  1. Comment faire un crawler/bot
    Par bobymaw dans le forum jQuery
    Réponses: 5
    Dernier message: 03/01/2013, 07h27
  2. faire des des feuilles dans un csv
    Par tanguy.L dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2009, 18h55
  3. Comment faire pour convertir des fichiers csv en série ?
    Par Debutante-Excel dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 31/05/2009, 21h34
  4. [JMeter] Faire un crawler
    Par ChristopheH dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 26/05/2009, 23h36
  5. [HTML] Parcours d'une table HTML pour creer un fichier CSV : comment faire ?
    Par Thomus38 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 28/06/2007, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo