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

Conception Web Discussion :

Choix d'une techno pour script d'analyse HTTP/HTML


Sujet :

Conception Web

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut Choix d'une techno pour script d'analyse HTTP/HTML
    Bonjour à tous,

    Je suis développeur de métier, mais développeur applicatif et non web.
    J'ai besoin pour un projet perso de développer un genre de "bot", de "script" qui irait rechercher sur une liste de sites pré-définies ( 4 ou 5 environ) des URL directes vers des vidéos.

    Le but de ce script serait d'itérer sur ces 4 ou 5 sites et de récupérer les URL des vidéos disponibles, les keywords associés, les descriptions et éventuellement les vignettes, puis, tout stocker dans une Db (probablement mySQL).

    Attention, je ne souhaite pas "grabber" ( télécharger) les vidéos, je veux juste récupérer le liens direct et les mots clé, descriptions et les stocker dans ma db.
    Ce script serait a exécuter périodiquement, peux etre 3 à 4 fois par semaine environ afin de mettre à jour la base.

    Ce qui est important de noter est que les "sources" à aller voir seraient au nombre de 4 ou 5, ainsi je pourrais coder "manuellement" la méthode à suivre pour aller chercher les URLS de ces sites. Je ne cherche pas à construire un bot "universel" capable de trouver des liens de vidéos automatiquement. Non, je cherche a automatiser cette tache.

    Le but serait qu'ensuite un site web derrière traite et présente ces infos, c'est donc un développement web.

    Au début je pensais a faire ce script en php ou js, seulement, je suis vraiment à la ramasse sur les technos web. Je cherche le moyen le plus simple pour faire cela...je suis développeur donc pourrait m'en tirer avec toutes les technos, mais je tiens à éviter de perdre bcp de temps.

    Que conseillez vous entre php ou javascript ? Une librairie particulière et simple pour analyse de l'http ( je pense que je vais devoir coder un genre de client http non ?).

    Grossièrement, je pensais regarder comment mes sites "construisent" leurs URL vers leurs vidéos...Les générer automatiquement par programmation et vérifier si l'url était valide...quelque chose comme cela.

    Avec quoi pourrait-je simplement faire cela ?

    Sinon, il reste la méthode de bucheron du développeur applicatif...coder ça en C#, en faire un EXE et lancer depuis mon PC via une tâche planifiée afin de mettre à jour la Db, mais ce n'est pas très smart...

    Voila, messieurs les web devs, j'aurai bien aimé vos avis la dessus

    Qu'en pensez vous ?

    Je vous remercie par avance :=

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    En PHP, il y a une fonction client HTTP très simple pour faire une requête GET : http://php.net/file_get_contents
    Et en PHP, la récupération et l'analyse des pages pourra se faire automatiquement côté serveur alors qu'en JavaScript, vous devrez ouvrir votre navigateur à chaque fois.

    Le choix de la technologie peut aussi dépendre de ce que vous voulez faire avec les données récupérées. Cela sera une simple page avec la liste des données ? Ou alors ça sera intégré à un site plus complet avec différentes pages, une espace protégé par mot de passe, un formulaire de contact par exemple ?

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut
    Salut et merci de ta réponse,

    Ma partie consiste juste à faire un script déclenchable qui pourrat alimenter la DB.
    Pour le reste du JOB, la partie présentation c'est mon binome qui fera le reste ( qui lui, est développeur web).

    Je vais partir sur PHP alors, au moins il y aura une communauté ! J'aime vraiment pas cette techno mais bon, si je veux me mettre au web, j'aurai pas le choix

    Merci !

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Le langage serveur que vous allez utiliser dépend du type de serveur que vous aurez de disponible.
    Si par exemple, vous prévoyez de travailler principalement sur des serveurs qui ont un serveur HTTP en Ruby, il sera plus intéressant pour vous d'étudier ce langage pour ce script d'analyse des vidéos.

    Pour le moment le PHP est utilisé par beaucoup de développeurs et donc beaucoup d'hébergeur propose du PHP même parfois avec des offres à 0 € (mais avec publicités). Cela rend ce langage plus intéressant pour les débutants => augmentation des utilisateurs de ce langage => augmentation de la demande d'hébergement, etc.
    Il y a encore quelques années, le gros point négatif était les mauvaises performances de PHP - MySQL qui faisait que les gros projets se tournait vers Java. Mais depuis des optimisations ont été faites et des gros sites, comme par exemple le numéro 1 du covoiturage, utilisent PHP.

  5. #5
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Salut,

    déjà ce que tu veux faire n'est pas nouveau, ça s'appelle du scraping (fait gaffe, c'est toujours tendancieux et limite au niveau de la légalité mais bon passons...)

    Si on parle uniquement du script qui te servira à scraper les données, je suis tenter de te dire d'utiliser le langage qui te fait plaisir. Tout ce qu'il te faut c'est un langage qui te permet de lancer des requêtes HTTP, de parser du XML et d'interagir avec une base de données et à vrai dire... tous les langages proposent ces fonctionnalités basiques. Donc, si tu te sens à l'aise en C# et que tout ça ne te pose pas de problème... ben fonce. Tu seras beaucoup plus efficace en terme de temps de développement tout simplement.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  6. #6
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut
    Salut,

    Oui, j'avais pensé à le faire en C# mais ca voudrait dire de déclencher l'exe ponctuellement depuis soit un VPS ou un PC. Ce qui n'est pas très smart.
    Un bon parseur et ca irait en effet...a voir !

    Après si on peut déclencher un code C# / EXE depuis un hébergeur php ce serait top mais....pas sur qu'on puisse sans passer via un VPS.
    Ou alors, faire dans un premier temps un exe c# et ensuite éventuellement le porter en ASP.NET ?

  7. #7
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Que tu exécutes du PHP ou un exe via ta tâche planifiée ne change au final pas grand chose.

    Par contre en effet, l'avantage que je vois à développer en PHP, c'est qu'il est probablement plus simple de mettre en place un environnement permettant d'exécuter du php que un .exe, mais le travail qui sera effectué par le code derrière sera le même, peut importe le language.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  8. #8
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut
    Oui le job est le même à l'avantage pour moi de bien plus maitriser C#.
    Allez, je vais partir la dessus et la communautée sera la pour m'aider si des galères...
    Et une fois fonctionnel je verrai pour le porter vers un code ASP.net au pire...pour l'automatiser via l'hébergeur.

    Merci

    Y'a pu qu'a trouver les bons composants qui me feront gagner du temps

    Merco

  9. #9
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut
    Bonsoir,

    Une petite question...

    Imaginons un site web sous la forme :

    https://www.MonSiteWeb/

    Les liens vers les pages de vidéos sont sous la forme :

    https://www.MonSiteWeb/video/Voici_u..._Video_A_Voir/
    https://www.MonSiteWeb/video/Voici_une_autre_ superbe_Video_A_Voir/
    https://www.MonSiteWeb/video/Voici_u..._Video_A_Voir/

    Existe il un moyen de ""trouver"" ces adresses par programmation ? Si je comprends bien, le webscraper est plus un "parseur" intelligent et orienté web non ? Moi dans mon cas je voudrais plus arriver à trouver les URLS disponible pour le moment...

    Je ne sais pas si je me fais bien comprendre...

    Cela a-il un nom ? Existe il un moyen de trouver ces adresses ? Une librairie existe elle pour ca ?

    Merci à tous

  10. #10
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    3 possibilités :

    - Les liens se suivent et/ou ils peuvent être deviné : dans ce cas là c'est plutôt facile
    - Soit il existe une manière d'indexer et de faire une liste de ces vidéos, le cas typique étant un champ de recherche. Dans ce cas là, pas de soucis, tu lances ta recherche avec ton programme et tu récupères les liens qui vont bien au sein de la page de résultat
    - Soit... ben non, c'est pas possible ou en tout cas ça devient très compliqué....
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  11. #11
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut
    Les serveurs webs sont donc bien protéger pour éviter qu'on scanne leurs racine ?
    DOmmage.

    Et bien, non les liens se devinent pas donc je peux pas les deviner.

    Ya un moteur de recherche sur le site donc je pense que je vais devoir passer par la, mais quoi mettre dans le moteur...a moi de trouver les termes mais pas sur de pouvoir tout récupérer par contre !

  12. #12
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Dans ton exemple tu indique des vidéos locales mais cela pourrait être également des vidéos youtube intégrées dans le site, donc tout dépend de ta cible et de ce que tu veux récupérer.

    En parsant le dom sur une collection des balises "video" tu devrais pouvoir récupérer les vidéos locales (dans l'attribut "src" de la balise "source" inclue dans la balise vidéo) et pour les vidéos youtube on peut faire une collection des balises "iframes" et regarder si l'attribut "scr" contient une url youtube.

    Perso j'utiliserais php parce que c'est simple et que dans ce cas il n'y a besoin que d'apprendre à utiliser DomDocument pour parser une page web et savoir manipuler un peu les tableaux (mais bon pour un développeur...). Avec getElementsByTagName tu peux cibler directement les balises voulues, bref cela devrait être assez rapide. Et ton script serait fonctionnel directement dans un environnement web standard, même un mutualisé pour peu qu'il propose des tâches cron pour automatiser tes requêtes (les premiers prix ovh à 1.5€/mois le permettent déjà).

  13. #13
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Les serveurs webs sont donc bien protéger pour éviter qu'on scanne leurs racine ?
    Oui ! Et heureusement ! Sinon c'est une faille de sécurité !

    Tu peux tester à tout hasard d'accéder au sitemap.xml qui est censé répertorier l'ensemble des pages du site, mais ça me paraît improbable
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

Discussions similaires

  1. [SP-2010] Choix d'une techno pour la recherche (Fast ..)
    Par guiguigs dans le forum SharePoint
    Réponses: 4
    Dernier message: 17/12/2010, 11h49
  2. Réponses: 2
    Dernier message: 11/09/2009, 00h56
  3. Réponses: 8
    Dernier message: 25/06/2007, 18h26
  4. Choix d'une distribution pour un serveur
    Par von_magnus dans le forum Distributions
    Réponses: 6
    Dernier message: 14/06/2006, 08h57
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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