Meine Open-Source-Software hat Freiwillige, die jede neue Version (oder andere wichtige Neuigkeiten) auf verschiedenen Kanälen (offizielle Facebook-Seite, offizieller Twitter-Account, offizielle Mailingliste, inoffizielle Reddit-Gruppe usw.) ankündigen.
Wir möchten diese Ankündigungen verfolgen, damit kein Kanal zurückgelassen wird und wir uns ein Bild davon machen können, welche Art von Nachrichten beliebt sind.
Anforderungen:
Es könnte so aussehen (oder auch nicht): ... wobei jeder Link auf den entsprechenden Beitrag zeigt. Die Admin-Oberfläche hätte eine Schaltfläche zum Hinzufügen einer neuen Ankündigungszeile und eine Möglichkeit, „nicht gepostet“ durch einen Link zu der Ankündigung auf diesem Kanal zu ersetzen.
Ich bezweifle, dass ein vorbereitetes Tool für all dies sofort einsatzbereit ist.
Sie stehen vor folgenden Problemen:
Ich würde empfehlen, Skripte in Automatisierungstesttools zu implementieren. Selenium Webdriver und eine Programmiersprache zum "Fahren" des Webdrivers (Java, Ruby, Python) könnten für diese Aufgabe ausreichen.
Sie müssen einen mittelmäßigen Programmierer mit Kenntnissen der gewählten Sprache, Xpath und (optional) Selenium (es ist sehr einfach) einstellen, aber Sie können praktisch JEDEN Inhalt crawlen.
Ich würde vorschlagen, dass Sie eine Bewertungsseite, möglicherweise als Markdown , in Ihr Repository aufnehmen, die die Freiwilligen mit ihren Bewertungslinks bearbeiten und wie jeden anderen Quellcode übergeben können . Sie können dann ein Python -Skript haben, das täglich/wöchentlich ausgeführt wird, um aus dieser Markdown-Datei zu lesen und die Links zu durchlaufen, um die Statistiken zu jedem Link zu sammeln. Sie können sogar anhand des Scandatums in eine .csv-Datei ausgeben, um Trends grafisch darzustellen.
Dieses Skript könnte die README.md oder eine andere Seite in den Dokumenten aktualisieren und im Repository veröffentlichen. Wenn Sie GitHub verwenden, werden Aktualisierungen der README.md automatisch auf der Repository-Homepage gerendert – es gibt auch Unterstützung für die automatische Rendering der Sphinx-Dokumentation – viele/die meisten Quellcode-Repositorys unterstützen diese Funktionalität.
Python eignet sich dafür besonders gut, weil: