2018-04-17 16:33:27 +02:00
# Green Spider
2018-04-03 23:15:28 +02:00
2018-08-23 10:00:55 +02:00
Initiative und Tools zur Förderung eines benutzer*innenfreundlichen Auftritts von Bündnis 90/Die Grünen im Web.
Zur Auswertung: [https://green-spider.netzbegruenung.de/ ](https://green-spider.netzbegruenung.de/ )
2018-04-03 23:15:28 +02:00
2018-04-17 16:33:27 +02:00
## Tools
2018-04-03 23:15:28 +02:00
2019-05-04 23:01:04 +02:00
- **Spider:** Sammelt Informationen über Websites von B90/GRÜNE Gliederungen
- **Screenshotter:** Erstellt Seiten-Screenshots. Siehe [netzbegruenung/green-spider-screenshotter ](https://github.com/netzbegruenung/green-spider-screenshotter/ )
- **Webapp:** Darstellung der Spider-Ergebnisse. Siehe [netzbegruenung/green-spider-webapp ](https://github.com/netzbegruenung/green-spider-webapp/ ). Dazu gehören
- **API**: [netzbegruenung/green-spider-api ](https://github.com/netzbegruenung/green-spider-api )
- **Elasticsearch**
- **Indexer:** Lädt Ergebnisdaten in Elasticsearch. Siehe [netzbegruenung/green-spider-indexer ](https://github.com/netzbegruenung/green-spider-indexer )
- **Auswertung**: R Projekt zur Auswertung der Ergebnisse. Siehe [netzbegruenung/green-spider-analysis ](https://github.com/netzbegruenung/green-spider-analysis )
2019-04-11 22:43:16 +02:00
2018-04-17 16:33:27 +02:00
## Aktivitäten
Es ist geplant, auf Basis der gesammelten Informationen (siehe Spider) Informationen an die Betreiber*innen der Websites zu versenden. Hierzu müssen Prozesse erarbeitet und vermutlich weitere Tools geschaffen werden.
## Community
2018-04-17 16:57:02 +02:00
Green Spider ist ein Projekt des [netzbegrünung ](https://blog.netzbegruenung.de/ ) e. V. -- Mitwirkung ist herzlich willkommen.
2018-04-17 16:33:27 +02:00
2018-04-17 16:57:02 +02:00
Zur Kommunikation dient der Chatbegrünung-Kanal [#green-spider ](https://chatbegruenung.de/channel/green-spider ) sowie die [Issues ](https://github.com/netzbegruenung/green-spider/issues ) hier in diesem Repository.
2018-04-17 16:33:27 +02:00
2019-05-04 23:01:04 +02:00
## Betrieb
2018-04-17 16:33:27 +02:00
2019-05-04 23:01:04 +02:00
Alle Informationen zum Betrieb befinden sich im Verzeichnis [devops ](https://github.com/netzbegruenung/green-spider/tree/master/devops ).
2018-04-17 16:33:27 +02:00
2019-05-04 23:01:04 +02:00
## Entwicklung
2018-08-28 22:28:40 +02:00
2019-05-04 23:01:04 +02:00
Green Spider ist in Python 3 geschrieben und wird aktuell unter 3.6 getestet und ausgeführt.
2018-04-17 16:33:27 +02:00
2021-11-11 20:15:43 +01:00
Aufgrund zahlreicher Abhängigkeiten empfiehlt es sich, den Spider Code lokal in Docker
2019-05-04 23:01:04 +02:00
auszuführen.
2018-04-17 16:33:27 +02:00
2019-05-04 23:01:04 +02:00
Das Image wird über den folgenden Befehl erzeugt:
2018-04-05 19:39:09 +02:00
```nohighlight
2019-05-04 23:01:04 +02:00
make
2018-04-05 19:39:09 +02:00
```
2019-05-04 23:01:04 +02:00
Das dauert beim ersten Ausführen einige Zeit, wiel einige Python-Module das Kompilieren diverser Libraries erfordern.
Nach dem ersten erfolgreichen Durchlauf dauert ein neuer Aufruf von `make` nur noch wenige Sekunden.
2018-08-23 10:00:55 +02:00
2019-05-04 23:01:04 +02:00
### Tests ausführen
2018-08-23 10:00:55 +02:00
2019-05-04 23:01:04 +02:00
In aller Kürze: `make test`
2018-04-17 16:33:27 +02:00
2019-11-22 23:13:57 +01:00
### Spider testweise ausführen (Debugging)
2018-04-17 20:45:51 +02:00
2019-05-04 23:01:04 +02:00
Der Spider kann einzelne URLs verarbeiten, ohne die Ergebnisse in eine Datenbank zu schreiben.
Am einfachsten geht das über den `make spider` Befehl, so:
2018-04-17 20:45:51 +02:00
2019-05-04 23:01:04 +02:00
```nohighlight
make spider ARGS="--url http://www.example.com/"
```
2018-04-17 16:33:27 +02:00
2021-11-11 20:15:43 +01:00
Ohne `ARGS` aufgerufen, arbeitet der Spider eine Jobliste ab. Dies erfordert Zugriff auf die entsprechende Datenbank.
2019-11-22 23:13:57 +01:00
Wenn nur eine einzelne Site gespidert werden soll, die Ergebnisse aber in die Datenbank geschrieben werden sollen, kann der Spider so mit `--job` und einem JSON-Object aufgerufen werden (Beispiel):
2021-11-11 20:15:43 +01:00
```nohighlight
2019-11-22 23:13:57 +01:00
docker run --rm -ti \
-v $(pwd)/volumes/dev-shm:/dev/shm \
-v $(pwd)/secrets:/secrets \
2021-11-11 20:15:43 +01:00
-v $(pwd)/screenshots:/screenshots \
2019-11-22 23:13:57 +01:00
-v $(pwd)/volumes/chrome-userdir:/opt/chrome-userdir \
--shm-size=2g \
2021-11-11 20:15:43 +01:00
quay.io/netzbegruenung/green-spider:latest python3 cli.py \
2019-11-22 23:13:57 +01:00
--credentials-path /secrets/datastore-writer.json \
--loglevel debug \
2021-11-11 20:15:43 +01:00
spider --job '{"url": "https://gruene-porta-westfalica.de/", "city": "Porta Westfalica", "country": "DE", "district": "Minden-Lübbecke", "level": "DE:ORTSVERBAND", "state":" Nordrhein-Westfalen", "type": "REGIONAL_CHAPTER"}'
2019-11-22 23:13:57 +01:00
```