bsenst commited on
Commit
de3b36d
·
1 Parent(s): eb779a0

minor changes

Browse files
src/01_setup/agenda.qmd CHANGED
@@ -8,13 +8,13 @@ Im zweiten Schritt werden wir in einem Notebook mit Hilfe großer Sprachmodelle
8
 
9
  Schließlich, im letzten Schritt, sollen die erlernten Kenntnisse auf konkrete Anwendungsfälle angewandt werden, um die praktische Nutzung und den Mehrwert dieser Techniken zu demonstrieren.
10
 
11
- ### Zeitplan
12
 
13
- - 1 Begrüßung und Einführung 16:00 Uhr
14
- - 2 No Code Tutorials
15
- - 3 Low Code Tutorials
16
- - 4 Anwendungsfälle
17
- - 5 Abschluss und Ausblick 18:20 Uhr
18
 
19
  ### Flussdiagramm Tutorials
20
 
 
8
 
9
  Schließlich, im letzten Schritt, sollen die erlernten Kenntnisse auf konkrete Anwendungsfälle angewandt werden, um die praktische Nutzung und den Mehrwert dieser Techniken zu demonstrieren.
10
 
11
+ ### Ablauf
12
 
13
+ 1. Begrüßung und Einführung ab 16:00 Uhr
14
+ 2. No Code Tutorials
15
+ 3. Low Code Tutorials
16
+ 4. Anwendungsfälle
17
+ 5. Abschluss und Ausblick ca. 18:20 Uhr
18
 
19
  ### Flussdiagramm Tutorials
20
 
src/01_setup/erforderlich/colab.qmd CHANGED
@@ -7,20 +7,14 @@ image: _c6cbaab4-a264-43bf-8b0f-311e210cd959.jpeg
7
  ## Google Colab nutzen
8
 
9
  ### 1: Öffne Google Colab
10
-
11
- * **Gehe zu Google Colab**:
12
  - Besuche [Google Colab](https://colab.research.google.com/).
13
  - Melde dich mit deinem Google-Konto an, falls erforderlich.
14
 
15
  ### 2: Neues Notebook erstellen
16
-
17
- * **Erstelle ein neues Notebook**:
18
  - Klicke auf "Datei" in der oberen linken Ecke.
19
  - Wähle "Neues Notebook".
20
 
21
  ### 3: Upload von Dateien 📁
22
-
23
- * **Dateien hochladen**:
24
  - Klicke im linken Seitenbereich auf das Ordnersymbol.
25
  - Klicke auf das Upload-Symbol (Pfeil nach oben) und wähle die Dateien aus, die du hochladen möchtest.
26
 
@@ -55,7 +49,7 @@ image: _c6cbaab4-a264-43bf-8b0f-311e210cd959.jpeg
55
 
56
  ## ChatGPT für die Code-Erstellung 📝
57
 
58
- Um Sprachmodelle optimal zu nutzen, ist es wichtig, klare und präzise Prompts zu erstellen. Ein guter Prompt enthält alle notwendigen Informationen, die ChatGPT benötigt, um eine hilfreiche Antwort zu geben.
59
 
60
  #### Prompterstellung:
61
 
 
7
  ## Google Colab nutzen
8
 
9
  ### 1: Öffne Google Colab
 
 
10
  - Besuche [Google Colab](https://colab.research.google.com/).
11
  - Melde dich mit deinem Google-Konto an, falls erforderlich.
12
 
13
  ### 2: Neues Notebook erstellen
 
 
14
  - Klicke auf "Datei" in der oberen linken Ecke.
15
  - Wähle "Neues Notebook".
16
 
17
  ### 3: Upload von Dateien 📁
 
 
18
  - Klicke im linken Seitenbereich auf das Ordnersymbol.
19
  - Klicke auf das Upload-Symbol (Pfeil nach oben) und wähle die Dateien aus, die du hochladen möchtest.
20
 
 
49
 
50
  ## ChatGPT für die Code-Erstellung 📝
51
 
52
+ Um Sprachmodelle zu nutzen, helfen klare und präzise Prompts. Ein guter Prompt enthält alle notwendigen Informationen.
53
 
54
  #### Prompterstellung:
55
 
src/01_setup/vorbereitung.qmd CHANGED
@@ -13,31 +13,35 @@ Einrichten der Nutzerkonten zur Nutzung der kostenlosen Ressourcen Google Colab
13
 
14
  ## Inhaltliche Vorbereitung
15
 
16
- **Wählt eine Webseite aus, über die ihr mehr erfahren möchtet.**
17
-
18
  * "Ich möchte Informationen über die Webseite 'Avaaz' sammeln, um mehr über globale Kampagnen zu erfahren."
19
  * "Ich bin daran interessiert, mehr über 'Change.org' zu lernen, insbesondere im Hinblick auf Petitionen und deren Wirkung."
20
  * "Die Webseite 'Amnesty International' interessiert mich, da ich dort viele Ressourcen zu Menschenrechten finde."
 
21
 
22
- **Denkt über einen Themenbereich nach, über den ihr gerne PDFs recherchieren würdet.**
23
-
24
  * "Ich möchte PDFs über Strategien zur Förderung von Partizipation und Demokratie recherchieren."
25
  * "Ich suche nach PDFs, die sich mit den Auswirkungen von Klimawandel auf soziale Gerechtigkeit befassen."
26
  * "PDFs über die Rolle und Organisation von NGOs in globalen Kontexten interessieren mich."
 
27
 
28
- **Überlegt euch einen Bereich, über den ihr euch gerne über Apps informieren lassen möchtet.**
29
-
30
  * "Ich möchte Apps kennenlernen, die zur Unterstützung von Gemeinschaftsprojekten beitragen."
31
  * "Ich interessiere mich für Apps, die den Austausch und die Vernetzung von Aktivisten erleichtern."
32
  * "Apps, die zur Mobilisierung und Organisation von Bürger*inneninitiativen nützlich sind, interessieren mich."
 
33
 
34
- **Bringt eine Liste von YouTube-Videos oder eine YouTube-Playliste mit, deren Umfang eure erfügbare Zeit strapazieren würde und sich daher für Zusammenfassungen anbietet.**
35
-
36
  * "Eine Playlist von Vorträgen über globale Klimapolitik von verschiedenen internationalen Konferenzen, die zusammen mehrere Stunden dauern."
37
  * "Ein Kanal, der ausführliche Dokumentationen über Menschenrechtsverletzungen weltweit zeigt, wobei jedes Video mindestens eine Stunde lang ist."
38
  * "Eine Serie von Interviews mit zivilgesellschaftlichen Akteuren und Experten zum Thema Demokratieförderung, die insgesamt einen ganzen Tag ansehen würde."
39
  * "Lange Diskussionsrunden und Panelgespräche über soziale Gerechtigkeit, die aufgrund ihrer Tiefe und Länge schwer in einer Sitzung zu bearbeiten sind."
40
  * "Eine Sammlung von Workshops und Tutorials zu organisatorischen Strategien für NGOs, die zusammen mehrere Tage in Anspruch nehmen würden."
 
41
 
42
  ## Nutzerkonten einrichten
43
 
 
13
 
14
  ## Inhaltliche Vorbereitung
15
 
16
+ ::: {.callout-note collapse="true"}
17
+ ### Wählt eine Webseite aus, über die ihr mehr erfahren möchtet.
18
  * "Ich möchte Informationen über die Webseite 'Avaaz' sammeln, um mehr über globale Kampagnen zu erfahren."
19
  * "Ich bin daran interessiert, mehr über 'Change.org' zu lernen, insbesondere im Hinblick auf Petitionen und deren Wirkung."
20
  * "Die Webseite 'Amnesty International' interessiert mich, da ich dort viele Ressourcen zu Menschenrechten finde."
21
+ :::
22
 
23
+ ::: {.callout-note collapse="true"}
24
+ ### Denkt über einen Themenbereich nach, über den ihr gerne PDFs recherchieren würdet.
25
  * "Ich möchte PDFs über Strategien zur Förderung von Partizipation und Demokratie recherchieren."
26
  * "Ich suche nach PDFs, die sich mit den Auswirkungen von Klimawandel auf soziale Gerechtigkeit befassen."
27
  * "PDFs über die Rolle und Organisation von NGOs in globalen Kontexten interessieren mich."
28
+ :::
29
 
30
+ ::: {.callout-note collapse="true"}
31
+ ### Überlegt euch einen Bereich, über den ihr euch gerne über Apps informieren lassen möchtet.
32
  * "Ich möchte Apps kennenlernen, die zur Unterstützung von Gemeinschaftsprojekten beitragen."
33
  * "Ich interessiere mich für Apps, die den Austausch und die Vernetzung von Aktivisten erleichtern."
34
  * "Apps, die zur Mobilisierung und Organisation von Bürger*inneninitiativen nützlich sind, interessieren mich."
35
+ :::
36
 
37
+ ::: {.callout-note collapse="true"}
38
+ ### Bringt eine Liste von YouTube-Videos oder eine YouTube-Playliste mit, deren Umfang eure erfügbare Zeit strapazieren würde und sich daher für Zusammenfassungen anbietet.
39
  * "Eine Playlist von Vorträgen über globale Klimapolitik von verschiedenen internationalen Konferenzen, die zusammen mehrere Stunden dauern."
40
  * "Ein Kanal, der ausführliche Dokumentationen über Menschenrechtsverletzungen weltweit zeigt, wobei jedes Video mindestens eine Stunde lang ist."
41
  * "Eine Serie von Interviews mit zivilgesellschaftlichen Akteuren und Experten zum Thema Demokratieförderung, die insgesamt einen ganzen Tag ansehen würde."
42
  * "Lange Diskussionsrunden und Panelgespräche über soziale Gerechtigkeit, die aufgrund ihrer Tiefe und Länge schwer in einer Sitzung zu bearbeiten sind."
43
  * "Eine Sammlung von Workshops und Tutorials zu organisatorischen Strategien für NGOs, die zusammen mehrere Tage in Anspruch nehmen würden."
44
+ :::
45
 
46
  ## Nutzerkonten einrichten
47
 
src/02_basics/webspider/website-url-extractor.qmd CHANGED
@@ -4,10 +4,15 @@ description: "Ein Tool zur Extraktion und Darstellung aller Links von einer ange
4
  image: _1fca0884-d58a-4271-b90f-90afcb2c4be9.jpeg
5
  ---
6
 
 
 
 
 
 
7
  ## Funktionen
8
  - **Webseitenanalyse**: Automatische Extraktion aller URLs von einer Webseite.
9
  - **Filterung**: Nur vollständige Links (z. B. beginnend mit `http`) werden angezeigt.
10
- - **Einfaches Interface**: Eingabefeld für die URL und eine klare Liste der extrahierten Links.
11
 
12
  ## Anleitung
13
 
@@ -15,7 +20,7 @@ image: _1fca0884-d58a-4271-b90f-90afcb2c4be9.jpeg
15
  - Zur [Webseiten-URL-Extraktor-App](https://huggingface.co/spaces/datenwerkzeuge/Webseiten-URL-Extraktor) auf Hugging Face navigieren.
16
 
17
  ### 2. Eingabemethode wählen
18
- - Eingabemethode auswählen: **URL** oder **HTML-Datei hochladen**.
19
 
20
  ### 3. URLs extrahieren
21
 
@@ -56,6 +61,41 @@ Die Auflistungsfunktion wiederholt die Extraktion für jeden Link im Dokument un
56
 
57
  Das Webseiten-URL-Extraktor-Tool bietet verdeutlicht das Filtern von Links auf Webseiten oder aus HTML-Dateien, indem es nur vollständige URLs darstellt.
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  ## Anwendungsfall
60
 
61
- [Dead Link Checker](https://www.deadlinkchecker.com/) ist ein Online-Tool das nicht funktionierende Links (Dead Links) auf Webseiten identifiziert. An diesem Fall ist erkennbar wie eine einfache Anwendung, wie der URL-Extraktor, als Bestandteil in einer Geschäftsanwendung eingesetzt werden kann.
 
4
  image: _1fca0884-d58a-4271-b90f-90afcb2c4be9.jpeg
5
  ---
6
 
7
+ ## Lernziele
8
+
9
+ * Was ist eine URLs?
10
+ * Aus welchen Bestandteilen besteht eine URLs?
11
+
12
  ## Funktionen
13
  - **Webseitenanalyse**: Automatische Extraktion aller URLs von einer Webseite.
14
  - **Filterung**: Nur vollständige Links (z. B. beginnend mit `http`) werden angezeigt.
15
+ - **Einfaches Interface**: Eingabefeld für die URLs und eine klare Liste der extrahierten Links.
16
 
17
  ## Anleitung
18
 
 
20
  - Zur [Webseiten-URL-Extraktor-App](https://huggingface.co/spaces/datenwerkzeuge/Webseiten-URL-Extraktor) auf Hugging Face navigieren.
21
 
22
  ### 2. Eingabemethode wählen
23
+ - Eingabemethode auswählen: **URLs** oder **HTML-Datei hochladen**.
24
 
25
  ### 3. URLs extrahieren
26
 
 
61
 
62
  Das Webseiten-URL-Extraktor-Tool bietet verdeutlicht das Filtern von Links auf Webseiten oder aus HTML-Dateien, indem es nur vollständige URLs darstellt.
63
 
64
+ ### Was ist eine URL?
65
+
66
+ Eine **URL** (Uniform Resource Locator) ist die Adresse eines bestimmten Dokuments oder Ressourcen im Internet. Sie dient dazu, Webanwendungen und -dienste eindeutig zu identifizieren und darauf zuzugreifen.
67
+
68
+ ### Bestandteile einer URL
69
+
70
+ Eine typische URL besteht aus mehreren Teilen:
71
+
72
+ - **Schema**: Gibt das Protokoll an, das verwendet wird, um die Ressource zu erreichen (z.B. `http`, `https`, `ftp`).
73
+
74
+ - **Host**: Der Name oder die IP-Adresse des Servers, auf dem die Ressource gespeichert ist (z.B. `example.com`).
75
+
76
+ - **Port**: Optional; spezifiziert den Port, über den die Verbindung hergestellt wird, wenn es nicht der Standardport ist (z.B. `80` für HTTP oder `443` für HTTPS).
77
+
78
+ - **Pfad**: Zeigt den spezifischen Ort der Ressource auf dem Server an (z.B. `/pfad/zur/ressource.html`).
79
+
80
+ - **Query-Parameter**: Optional; verwendet, um zusätzliche Daten an den Server zu übergeben, oft nach einem `?` (z.B. `?id=123&name=test`).
81
+
82
+ - **Fragment**: Optional; identifiziert einen bestimmten Teil der Ressource, häufig verwendet in HTML-Dokumenten für interne Navigation (z.B. `#abschnitt`).
83
+
84
+ ### Beispiel einer vollständigen URL:
85
+
86
+ ```plaintext
87
+ https://www.example.com:443/pfad/zur/ressource.html?id=123&name=test#abschnitt
88
+ ```
89
+
90
+ * Schema: `https`
91
+ * Host: `www.example.com`
92
+ * Port: `443`
93
+ * Pfad: `/pfad/zur/ressource.html`
94
+ * Query-Parameter: `id=123&name=test`
95
+ * Fragment: `abschnitt`
96
+
97
+ Mit dieser Struktur kann ein Browser oder ein anderes Netzwerkprogramm die genaue Adresse einer Ressource im Internet bestimmen und darauf zugreifen.
98
+
99
  ## Anwendungsfall
100
 
101
+ [Dead Link Checker](https://www.deadlinkchecker.com/) ist ein Online-Tool das nicht funktionierende Links (Dead Links) auf Webseiten identifiziert. An diesem Fall ist erkennbar wie eine einfache Anwendung, wie der URL-Extraktor, als Bestandteil in einer Geschäftsanwendung eingesetzt werden kann.
src/02_basics/webspider/webspider.qmd CHANGED
@@ -4,6 +4,13 @@ description: "Eine private Webanwendung zur Extraktion strukturierter Daten von
4
  image: _24e522b8-a6d0-4212-a02e-7738b3098105.jpeg
5
  ---
6
 
 
 
 
 
 
 
 
7
  ## Anleitung
8
 
9
  1. **Anwendung aufrufen**:
@@ -34,4 +41,4 @@ Die Anwendung eignet sich für die Datenerfassung aus öffentlich zugänglichen
34
 
35
  ## Fazit
36
 
37
- Die Webspider-Anwendung bietet eine praktische Einführung in die Welt des Webscrapings, indem sie Nutzern die Möglichkeit gibt, Daten von Webseiten zu extrahieren, zu analysieren und zu exportieren. Sie vermittelt wesentliche Kenntnisse in der Handhabung von Scraping-Parametern.
 
4
  image: _24e522b8-a6d0-4212-a02e-7738b3098105.jpeg
5
  ---
6
 
7
+ ## Lernziel
8
+
9
+ - Start-URLs und URL-Verwaltung
10
+ - HTTP-Anfragen und Datenextraktion
11
+ - Links folgen und Crawl-Tiefe
12
+ - Datenverarbeitung und -speicherung
13
+
14
  ## Anleitung
15
 
16
  1. **Anwendung aufrufen**:
 
41
 
42
  ## Fazit
43
 
44
+ Die Webspider-Anwendung bietet eine praktische Einführung in die Welt des Webscrapings, indem sie Nutzern die Möglichkeit gibt, Daten von Webseiten zu extrahieren, zu analysieren und zu exportieren. Sie vermittelt wesentliche Kenntnisse in der Handhabung von Scraping-Parametern.
src/index.qmd CHANGED
@@ -6,7 +6,7 @@ Herzlich willkommen zum Webscraping Workshop! Egal, ob Erste-Schritte oder Fortg
6
  * Hast du ein Google Nutzerkonto?
7
  * Hast du ein Huggingface Nutzerkonto?
8
  * Hast du schon einmal Daten aus dem Internet extrahiert?
9
- * Hast du schonmal Daten über eine [API](01_setup/glossar.html#a-wie-asynchrones-scraping) bezogen?
10
  * Nutzt du Große Sprachmodelle?
11
 
12
  ## Navigation auf der Workshop Webseite 🧭
 
6
  * Hast du ein Google Nutzerkonto?
7
  * Hast du ein Huggingface Nutzerkonto?
8
  * Hast du schon einmal Daten aus dem Internet extrahiert?
9
+ * Hast du schonmal Daten über eine API bezogen?
10
  * Nutzt du Große Sprachmodelle?
11
 
12
  ## Navigation auf der Workshop Webseite 🧭