Forum général.cherche-logiciel Outils pour surveiller changements sur une page web ?

Posté par (page perso) . Licence CC by-sa.
Tags :
1
22
mar.
2020

Bonjour à tous et à toutes,

Je cherche des outils qui m'avertiraient quand une zone d'une page web est modifiée (que ce soit du texte ou une image). Actuellement j'utilise l'extension Update Scanner de Firefox. Elle permet de régler la périodicité des vérifications ainsi que la sensibilité en terme d'ampleur des modifications. Mais cela concerne l'intégralité de la page.

Mon objectif serait d'avoir une surveillance automatisée de sites de courses (drives ou livraison à domicile) afin de savoir quand des créneaux de livraison réapparaissent. Idéalement, il faudrait pouvoir donc surveiller une zone précise de l'écran, car sur ce genre de pages les modifications sont nombreuses (promotions, nouveaux produits, etc.) Il faut aussi que la périodicité soir réglable car l'usage doit bien sûr être raisonnable afin de ne pas surcharger les serveurs dans la période actuelle.

Cela pourrait être une extension de navigateur, un logiciel à part, ou un script dans je ne sais quel langage.

  • # visualping

    Posté par (page perso) . Évalué à 3 (+1/-0).

    C'est pas libre, l'interface n'est pas terrible et la version gratuite est limitée à quelques page; mais ça peut aider tout de même:
    https://visualping.io/

    La gelée de coings est une chose à ne pas avaler de travers.

    • [^] # Re: visualping

      Posté par (page perso) . Évalué à 1 (+0/-0).

      Merci, c'est pas mal ! Ca correspond au cahier des charges (à part le libre qui était implicite).

      Par contre ça marche avec certaines URL et pour d'autres il n'arrive pas à charger la page pour je ne sais quelle raison (par exemple https://www.chronodrive.com/home).

    • [^] # Re: visualping

      Posté par (page perso) . Évalué à 1 (+0/-0).

      Dans le même genre je viens de trouver :
      https://www.sken.io/

      Mais apparemment les informations qui m'intéressent n'apparaissent que quand je suis connecté sur mon compte au site de courses (puisque ça dépend de la ville).

      Je vais peut-être devoir écrire un script…
      J'ai essayé de commencer par :

      $ firefox --screenshot https://www.chronodrive.com/home
      

      Mais ça ne donne rien. Quelqu'un sait-il comment utiliser cette option ?

      On pourrait aussi partir sur l'utilitaire de copie d'écran scrot :

      -a, --autoselect
                    Non-interactively choose a rectangle of x,y,w,h.
      
      • [^] # Re: visualping

        Posté par (page perso) . Évalué à 3 (+1/-0).

        quitte à prendre des images écran et comparer, utilise un outil développé par une personne qui fréquente linuxfr

        http://flyounet.net/life/2016-03-10-comment-compiler-cutycapt.html

        et donc

        https://github.com/Flyounet/bm

        si je me souviens bien, son netbook étant peu puissant, au lieu d'ouvrir directement 128 onglets, il regarde d'abord si la page a changé depuis la dernière "photo"

        My father was a Brexit negotiator and his father before him

        • [^] # Re: visualping

          Posté par (page perso) . Évalué à 1 (+0/-0).

          Houlà malheureux !

          On ne déterre pas des vieux trucs comme ça sans prévenir :)

          bm pour bookmark, c'est juste un outil pour stocker des bookmarks, plutôt que de passer par un navigateur. Donc pas vérification, juste le script prenait un screenshot si on en voulait un…

  • # Selenium

    Posté par (page perso) . Évalué à 2 (+1/-0).

    J'ai suivi ça de loin mais je crois que c'est que que faisait Selenium dont se servait l'équipe supervision dans ma boite.

    https://www.selenium.dev/

    • [^] # Re: Selenium

      Posté par (page perso) . Évalué à 1 (+0/-0).

      Merci
      effectivement, j'avais jeté un oeil à Selenium il y a quelques temps. On peut l'utiliser avec différents langages dont Python. Ce serait une solution.
      Mais pour l'instant je voudrais essayer de m'en sortir avec un script bash.

  • # chromium headless : OK, mais firefox headless : NOK

    Posté par (page perso) . Évalué à 3 (+2/-0).

    J'ai réussi à prendre des copies d'écran headless (sans GUI) avec chromium :

    chromium --user-data-dir=./essai/ --headless --window-size=1280,1024 --hide-scrollbars --screenshot=linuxfr.png https://linuxfr.org/
    

    Il ne me restera plus qu'à découper avec ImageMagick la zone qui m'intéresse et à utiliser la commande diff sur l'image et une image de référence.

    Par contre, j'aurais préféré faire la même chose avec Firefox mais je n'ai pas réussi. J'ai essayé tout un tas d'options comme ici :

    firefox --headless --screenshot --no-remote -P monprofile https://www.chronodrive.com/
    

    Mais je n'ai jamais réussi à obtenir une copie d'écran. Quelqu'un sait-il comment faire ?

  • # Et avec une comparaison textuelle ?

    Posté par . Évalué à 3 (+1/-0).

    J'avais fais ça avec un wget + parsing de l'URL.
    La comparaison dans le source de la page HTML était intéressant une fois que j'avais trouvé le bon point de parsing (un div particulier).

    De mémoire, wget (ou curl je ne sais plus) m'avais permis de m'authentifier mais j'imagine que "ca dépend".

    Sinon en graphique tu as aussi Sikuli, un peu lourd, mais qui va faire des comparaisons graphiques sur un écran (le browser sera donc ouvert). Il me semble que Sikuli n'est plus développé, mais qu'il est toujours fonctionnel.

    • [^] # Re: Et avec une comparaison textuelle ?

      Posté par (page perso) . Évalué à 1 (+0/-0).

      Merci

      Effectivement pour le texte, un wget ou un curl peut faire l'affaire. Mais il faut voir pour l'authentification…

      Et souvent, sur le genre de sites qui m'intéresse, la détection graphique peut être nécessaire.

      Sikulix semble toujours développé :
      https://github.com/RaiMan/SikuliX1

    • [^] # Re: Et avec une comparaison textuelle ?

      Posté par . Évalué à 3 (+1/-0). Dernière modification le 23/03/20 à 17:04.

      Plus facile il y a lynx -dump qui fera tout le boulot d'interprétation HTML pour en sortir du texte brut.

      En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

      • [^] # Re: Et avec une comparaison textuelle ?

        Posté par . Évalué à 3 (+1/-0). Dernière modification le 23/03/20 à 17:10.

        Exemple écrit en 1mn sur la liste des derniers journaux de Linuxfr.org :

        lynx --dump https://linuxfr.org/journaux | grep Journal | cut -d ']' -f 3

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # SiteDelta Watch

    Posté par . Évalué à 1 (+0/-0).

    Retrouvé au fin fond de mes signets : SiteDelta Watch pourrait être une piste. C'est une extension pour Firefox ou Chrome, sous licence GPL.

    Pas essayé en détails, mais on peut définir aussi une fréquence de vérification et :

    Additionally, you can add scan or ignore regions to define which parts of the page you are interested in.

    Pourrait se combiner avec SiteDelta Highlight, du même développeur qui peut fonctionner en même temps mais a d'autres options (cf. rapide descriptif comparatif).

  • # Commentaire supprimé

    Posté par . Évalué à 1 (+0/-0). Dernière modification le 24/03/20 à 17:58.

    Ce commentaire a été supprimé par l'équipe de modération.

  • # Outils de tests automatisés

    Posté par . Évalué à 1 (+0/-0).

    Bonjour,
    tu peux utiliser des outils tel que casperjs (ou equivalent, en général utilisé pour faire des tests automatisés) qui va "charger" les pages (inteprétation du JS inclus ce qui fait que tous les sites devraient marcher) exactement comme le ferait firerox. Tu peux ensuite vérifier des objet DOM (idée/exemple : vérifier que le n-ieme tableau a toujours le meme contenu) ou faire des screenshots ex : ( https://davidtang.io/2015/04/30/taking-screenshots-with-casper.html )

  • # Commentaire supprimé

    Posté par . Évalué à 1 (+0/-0). Dernière modification le 28/03/20 à 09:48.

    Ce commentaire a été supprimé par l'équipe de modération.

Envoyer un commentaire

Suivre le flux des commentaires

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