Webseiten Änderungen überwachen / Website Change Monitor mit Pi

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich suche nach Software für "website change monitoring" (Webseiten auf Text-Änderungen überwachen) die 24/7 auf meiner Pi Maschine laufen soll.

    Konkretes Beispiel: Ich habe eine Liste von 50-80 URLs die ich im Hintergrund auf Änderungen monitoren möchte, z.B. 2x pro Tag. Wenn sich der Inhalt einer URL geändert hat dann möchte ich immer eine Benachrichtigungs-Email erhalten mit dem Website-Link und einer kurzen Zusammenfassung der Text-Änderungen.

    Es gibt natürlich schon web-services wie versionista.com oder visualping.io die das können aber die kosten alle Abo-Gebühren :-(. Ein anderes gutes Beispiel ist "Website-Watcher" von http://aignes.com/index.htm aber das Programm gibt es leider nur unter Windows. Wie kann ich die gleiche Funktionalität auf meinem eigenen Pi mit freier Software aufsetzen? Ein kleines bedienerfreundliches Programm mit GUI und ein paar Optionen zum Einstellen der "Änderungs-Emfindlichkeit" wäre 100% super! Wenn es das nur als Kommandozeilen-Variante gibt würde ich mich auch damit beschäftigten - aber bisher habe ich noch garnichts brauchbares für Pi gefunden. Daher mal hier nachgefragt - Allerbesten Dank für Eure Hilfe! :helpnew:

    emp00

  • Webseiten Änderungen überwachen / Website Change Monitor mit Pi? Schau mal ob du hier fündig wirst!

  • Hallo emp00 und wilkommen im Forum :)

    Ich bin nicht grad der erfahrenste was Pi oder Programmieren im allgemeinen angeht aber ich würde es mal mit dem Befehl grep -f datei_a datei_b versuchen. Dieser Befehl vergleicht die beiden Dateien und gibt abweichungen zwischen den beiden aus. Du könntest also die entsprechende Seite mit wget downloaden und mit dem Befehl die beiden Versionen vergleichen.

    Da gibts aber sicher noch andere und evt bessere Lösungsansätze da hier auch änderungen im Quelltext ausgegeben würden.

    Grüsse Apop

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

  • Der vermutlich einfachste Weg wäre: Script erstellen welches ein mal beim starten von allen URL's ein "Textabbild" erstellen und bei der nächsten Prüfung einen Vergleich durchführt.

    Allerdings stellt sich die Frage ob der Vergleich wirklich nur auf Text-Änderungen relevant ist oder ggf auch andere Elemente der Webseite wichtig sein könnten?

    Welche Webseiten willst du überwachen und wozu soll das überhaupt sein (Sinn und Zweck)?

  • Hey meigrafd

    Ich kann natürlich nicht für emp00 sprechen aber ich hatte eine ähnliche Idee nachdem ich folgenden Vortrag vom CCC gehört habe.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Eventuell sind es ja ähnliche Beweggründe :) aber spannend ist sowas allemal, zumindest finde ich sowas spannend ^^ .

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

  • Allerdings stellt sich die Frage ob der Vergleich wirklich nur auf Text-Änderungen relevant ist oder ggf auch andere Elemente der Webseite wichtig sein könnten? Welche Webseiten willst du überwachen und wozu soll das überhaupt sein (Sinn und Zweck)?

    In meinem Fall handelt es sich vor allem um Seiten wo in unregelmäßigen Abständen "news" gepostet werden. Beispiel: Pressemeldungen von LG Chem unter http://www.lgchem.com/global/lg-chem…r/press-release. Betrifft auch mehrere chinesische und andere Webseiten nicht nur in englischer Sprache. Ein oder zwei Twitter-Konten möchte ich auch gern überwachen wie zum Beispiel https://twitter.com/lgchemess?lang=en. Insofern sind Änderungen am Website-Code 100% nicht relevant sondern nur "Textänderungen". Heutzutage wird ja leider praktisch täglich eine Website automatisch geändert, z.B. um das aktuelle Datum oder Werbe-Links anzuzeigen. Solche Änderungen sollen natürlich nicht gemeldet werden - d.h. es sollte möglich sein, die "Änderungsemfindlichkeit" einzustellen, z.B. nur bei Änderungen mit mehr als 25 Zeichen.

    Wie oben gesagt würde ich gern genau das was versionista.com oder visualping.io bzw. am allerbesten der "Website-Watcher" von http://aignes.com/index.htm kann mit meinem Pi umsetzen. Gibt es dafür nicht schon irgendwo fertige Software für den Pi?

    Danke Euch für die schnelle Reaktion und Vorschläge aller Art! :)

  • Habe mal etwas gegooglet. Du könntest das Paket lynx verwenden um die Website ohne Quelltext auszulesen.

    Die Ausgabe für lynx -dump versionista.com wäre dann wie hier:

    Spoiler anzeigen

    IFRAME: [1]//http://www.googletagmanager.com/ns.html?id=GTM-KSMHKS

    (BUTTON) [2]Versionista

    * [3]What's New

    * [4]About

    * [5]Features

    * [6]Sign Up

    * [7]Log in

    Monitor Website Changes.
    Track Web Page Edits.
    Web Change Detection & Alerts For Entire Sites.

    Website change monitoring for Enterprises & SMBs.

    * Fifty+ Fortune 500 brands trust us to watch website changes.

    * Visual ping monitoring of entire websites, not just a few pages.

    * Automatically crawl and monitor changes to key web pages.

    * Track changes and get change notifications by e-mail and Slack.

    * Watch website changes for competitive insights; [8]track on-page SEO changes; surface compliance intelligence.

    Visual ping monitoring and website change detection.

    * Monitor changes to HTML, PDFs, text & dynamic content.

    * Highly configurable crawling, archiving, & change comparisons.

    * Comprehensive e-mail summaries and instant change alerts.

    * Automatically discover, crawl, and monitor edits to new URLs.

    * Powerful filters for Web change watchers to avoid irrelevant content.

    Start monitoring. Enter a URL to track web changes: ____________________

    [9]Skip (BUTTON) Monitor Web Page Changes __________________________________________________________________

    We're proud to deliver results-driven web change detection to customers of all political stripes for 10+ years.

    The EPA removes climate change references from its website, a report says [10]https://t.co/0EH3VPABLS [11]http://pic.twitter.com/shdZL2kVj0 â CNN Politics (@CNNPolitics) [12]December 8, 2017

    A new study found that the Trump administration has systematically removed, altered or played down references to climate change on federal websites [13]https://t.co/aOSfozxbyk â The New York Times (@nytimes) [14]January 11, 2018

    Versionista provides web change monitoring to customers of all political stripes, including the McCain campaign in 2008. [15]https://t.co/2Osri9G14P â We Monitor Web Changes (@versionista) [16]January 15, 2018

    âVersionista provides both an accurate date of the last change and reveals the edits that have been made between versions of the site â highlighting what has been added and removed in side-by-side comparisons.â â [17]The New York Times

    âVersionista [is] making it easier still to spot alteration over time.â â [18]The Economist © 2008â2018 Versionista.com, Portland, Oregon. â Questions to account@versionista.com or [19]@versionista â [20]End-User License Agreement

    References

    1. https://www.googletagmanager.com/ns.html?id=GTM-KSMHKS

    2. https://versionista.com/

    3. https://versionista.com/whats-new.html

    4. https://versionista.com/about

    5. https://versionista.com/product-features.html

    6. https://versionista.com/signup

    7. https://versionista.com/login

    8. https://versionista.com/track-on-page-seo-changes.html

    9. https://versionista.com/signup

    10. https://t.co/0EH3VPABLS

    11. https://t.co/shdZL2kVj0

    12. https://twitter.com/CNNPolitics/status/939113611691282433?

    ref_src=twsrc^tfw

    13. https://t.co/aOSfozxbyk

    14. https://twitter.com/nytimes/status/951360787808948224?ref_src=twsrc^tfw

    15. https://t.co/2Osri9G14P

    16. https://twitter.com/versionista/status/952798293175578624?

    ref_src=twsrc^tfw

    17. http://www.nytimes.com/external/readw…26readwriteweb-

    versionista_tracking_edits.html

    18.

    http://www.economist.com/blogs/democrac…wayback_machine

    _sherman.cfm

    19. https://twitter.com/versionista

    20. https://versionista.com/enduser.html

    Fertige Software hab ich jetzt bei meiner kurzen Suche nicht gefunden.

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

    Einmal editiert, zuletzt von Apop85 (18. März 2018 um 15:36)

  • Meines Wissens ist die Sprache "Perl" als recht mächtig in Sachen Textverarbeitung bekannt. Da könntest du dich mal schlau googeln.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Danke Euch für die Tipps. Ich habe gerade hier etwas interessantes gefunden was meiner Anwendung sehr nahe kommt:

    https://codereview.stackexchange.com/questions/1202…bsite-follow-up

    Wenn ich das richtig verstehe, dass geht dort dort um eine "Python"-Lösung. Nun die ganz dumme Frage: Wie bringe ich das script auf meinem Pi ans Laufen? Ich bin leider ziemlich blutiger Anfänger was Programmierung angeht. Eine "fertige" und anwenderfreundliche Lösung mit GUI wäre mir natürlich am liebsten - ich wundere mich, dass es so etwas nicht schon gibt? Dafür ist ein Pi doch ideal - muss nur 1-2x pro Tag aufwachen und meine URL-Liste abgrasen und die Änderungen per Mail melden. Die Windows-Software die ich oben genannt habe kann man nicht zufällig auf dem Pi in einem "Windows-Emulater" a la "Wine" laufen lassen? Wäre auch noch eine "dumme Idee" als Strohhalm von mir... :angel:

  • Ein Script muss immer erstmal ausführbar gemacht werden. Dazu im Terminal chmod +x /pfad/zur/datei.py ausführen.

    Bezüglich Windowsprogramme auf dem Raspberry ist glaube ich nur selten möglich da der Raspberry eine ARM Architektur aufweist und Windowsprogramme unter x86/x64 Archtekturen laufen. Kann mich aber auch irren. Habe mich da nicht wirklich damit auseinandergesetzt.

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

  • Nur einfach die Änderungen per Mail melden... ganz einfach nur. Man muss nur einfach eine Rakete bauen und zum Mars fliegen... ganz einfach.

    Ist dir klar, dass die simple Überprüfung auf bitgenaue Identität schon dann scheitert, wenn irgendwo auf der Seite das aktuelle Tagesdatum angegeben ist? Deine Software müsste mit einer gewissen "Intelligenz" feststellen, wo der Unterschied genau ist. Im Idealfall müsste sie irrelevante Abweichungen ignorieren. Relevante Abweichungen müssten für dich erkennbar sein. Was, wenn nur ein Wort ausgetauscht wird? Oder ein Satz, ein ganze Absatz? Wenn ein Satz umformuliert wird? Ein Foto verändert? Wie erkennt das System, welche Teile der Seite unverändert sind, wenn sich durch Änderungen alles verschiebt? So einfach, wie du dir das vorstellst, ist es wohl nicht.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Ein Script muss immer erstmal ausführbar gemacht werden.

    Nö, nur wenn man eh einen Shebang drin hat und es nicht explizit an den Interpreter übergeben will. Wenn du das Script explizit (wird ja durch den Shebang implizit auch gemacht) an einen Interpreter übergibst, muss es einfach nur lesbar sein (vom ausführenden User).

    So einfach, wie du dir das vorstellst, ist es wohl nicht.

    Ich werfe mal noch die Idee in den Raum, mit einem XML-Parser zu Arbeiten, und nur einen bestimmten Knoten und dessen Kinder zu berücksichtigen. Mit etwas Glück sind Werbung, sich ändernde Datumsangaben etc. außerhalb des relevanten Content-Nodes.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!