Forum Programmation.web Comment fonctionne le mode lecture de Firefox ?

Posté par (page perso) . Licence CC by-sa
1
28
oct.
2015

Bonjour,

Je cherche à faire du crawling sur un certain nombre de sites, et je constate avec joie (et allégresse) que le mode lecture de Firefox correspond pile-poil à ce que j'aimerais récupérer comme contenu lorsque je fais mon crawling.

Ma question est double, mais simple :

  • sur quoi s'appuie Firefox pour déceler la partie "utile" de la partie non utile
  • est-ce que vous connaissez des libs / outils qui me permettrait d'intégrer cela facilement dans un outil de crawling (l'idée que j'ai en tête c'est de crawler puis "nettoyer" le contenu pour arriver au contenu réellement intéressant, débarrassé des éléments de mise en page, menus, publicités, etc)
  • # Weboob pour faire original

    Posté par . Évalué à 3.

    As-tu regardé du côté de weboob ? En plus c'est du python, ça devrait être facile pour toi de créer un module qui va bien.

    • [^] # Re: Weboob pour faire original

      Posté par (page perso) . Évalué à 2.

      En fait, pour le crawling / scraping j'ai ce qu'il faut. Le truc c'est "juste" que si je peux ne pas recoder qqchose qui existe, c'est autant de temps de gagné :)

  • # use the source, luke, use the source

    Posté par . Évalué à 3.

    un des avantages des logiciels open-source, c'est justement qu'on a accés aux sources.

    donc on peut aller voir comment ils font.

    apres firefox ne le propose pas pour tous les sites,
    j'imagine donc que c'est surtout une CSS proposée par le site, avec un media particulier, qui declenche alors cette fonctionnalité.

    tout comme tu as la possibilité de mettre une css avec un media=print
    qui va rendre le site imprimable, sans les images de fonds, avec une mise en page differente de l'affichage ecran (media=screen)

    • [^] # Re: use the source, luke, use the source

      Posté par (page perso) . Évalué à 2.

      Tu as 100% raison. C'est un moyen dont le résultat est garanti ; mais dont l'efficacité est discutable… en tout cas en première approche.

      En effet, je n'ai jamais touché au code de Firefox, et rentrer dans le code "brutalement" risque d'être laborieux (chercher mon point d'entrée "le bouton mode lecture" puis "remonter la stack" pour voir où on arrive)…

      Du coup si quelqu'un connait le principe concret et/ou les points d'entrée sur lesquels me diriger en premier lieu, c'est autant de temps de gagné. :)

      (ce qui revient au final à réduire un peu le temps d'apprentissage du code de firefox)

  • # Regarde comment fait Wallabag

    Posté par (page perso) . Évalué à 7.

    Au delà de Firefox, tu as tout un tas d'outils pour la lecture en mode déconnecté qui le font. En Libre, tu as Wallabag qui propose notamment une fonction de nettoyage des pages web.

    Use the source, Luke.

  • # Readability

    Posté par (page perso) . Évalué à 2.

    C'est quelque chose comme ça que tu cherche ?
    https://pypi.python.org/pypi/breadability/
    Je le l'ai pas essayé, je garde une version du bookmarklet javascript. La doc pointe pas mal d'autre alternatives.

  • # re

    Posté par . Évalué à 1. Dernière modification le 28/10/15 à 18:57.

    Je sais pas comment firefox le fait.
    Ni si les sites doivent y participer pour son fonctionnement.

    Sans participation du côté site, une idée serait de détecter du texte d'une bonne longueur.
    Tu détectes le minimale requis, tu trouves le début et fin du texte puis tu récupères l'ensemble et l'utilises.

    "Comme ta création n’est pas en vain, la création de ces événements n’est pas non plus en vain." Bediüzzaman

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.