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 Nonolapéro . É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 LeBouquetin (site web personnel, Mastodon) . É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é :)
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
# use the source, luke, use the source
Posté par NeoX . É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 LeBouquetin (site web personnel, Mastodon) . É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)
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
# Regarde comment fait Wallabag
Posté par Florent Zara (site web personnel, Mastodon) . É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.
[^] # Re: Regarde comment fait Wallabag
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 2.
Et pour la v2, on utilise https://github.com/j0k3r/graby
# Readability
Posté par Benoît Laurent (site web personnel) . É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: Readability
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 2.
C'est exactement ça que je recherche ! Merci :)
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
# re
Posté par Anonyme . Évalué à 1. Dernière modification le 28 octobre 2015 à 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.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.