green-spider/README.md
Marian Steinbach c59db691a0
Reparatur und Aufräumen an der job execution (#340)
* Update jq URL

* Improve docker compose setup

* Script makeover: only one spider job, debian 11, add git clone

* Update image name

* Add some docs

* Pin click to v7 due to problems with rq

* Newline

* Improve manager code

* Add make tarket venv

* Remove obsolete 'spider' command from cli

* Remove git clone from manager code

* Remove worker functions from spider code

* Let 'make jobs' execute git clone and use docker compose

* Add 'spider' make target

* Update .dockerignore

* Add dryrun target to spider a URL without storing results

* Remove unused config entry
2024-03-04 17:18:37 +01:00

3 KiB

Green Spider

Green Spider prüft Websites von Bündnis 90/Die Grünen Gliederungen auf Einhaltung ausgewählter Standards. Die Ergebnisse sind unter green-spider.netzbegruenung.de einsehbar.

Dieses Repository beinhaltet Code für den Spider, der Websites besucht und prüft.

Green Spider ist ein Projekt von netzbegrünung e. V..

Übersicht aller Green Spider Repositories

Green Spider verbessern

Du kannst über den Chatbegrünung-Kanal #green-spider Probleme melden, Fragen stellen und Verbesserungsvorschläge machen. Wenn Du möchtest, kannst Du auch die Issues hier in diesem Repository einsehen ud kommentieren oder selbst ein Issue anlegen.

Betrieb

Alle Informationen zum Betrieb befinden sich im Verzeichnis devops.

Entwicklung

Green Spider ist in Python geschrieben. Der Code ist darauf ausgelegt, in einem Docker Container ausführbar zu sein. Darüber hinaus kann er möglicherweise in einer lokalen Python-Umgebung funktionieren. Für reproduzierbare Bedingungen beim Ausführen des headless Browsers (chromium, chromedriver) empfielt es sich jedoch, in einer Container-Umgebung zu testen.

Das aktuellste Container Image steht unter ghcr.io/netzbegruenung/green-spider:latest zur Verfügung. Alternative Versionen und Tags sind unter Packages auffindbar.

Lokal kann das Image mit diesem Befehl gebaut werden:

make dockerimage

Unittests ausführen

Nach dem Bauen des Container Image (siehe oben) werden die Unit Tests im Container über make test ausgeführt.

Spider testweise ausführen (Debugging)

Der Spider kann einzelne URLs verarbeiten, ohne die Ergebnisse in eine Datenbank zu schreiben. Am einfachsten geht das über den make dryrun Befehl, so:

make dryrun ARGS="http://www.example.com/"

Warteschlange und Worker

Für einen kompletten Durchlauf wird die Warteschlange gefüllt und dann abgearbeitet. Das passiert im Betrieb über das Script devops/run-job.sh.

Lokal kann das über die folgenden Befehle getestet werden:

make jobs
make spider